14024 ,, 14357 1
VOL. 4, No. 5 $3-95
DIGITIZING ANALOG DATA
Data Acquisition Boards
DATA MANAGER: dBASE III PLUS
BREAKING THE 32-MEGABYTE BARRIER
Then one day a
: a time
Tall Tree Systems introduced a 2MB
memory board called JRAM-2. It broke the
and offered
I/O modules, a warm re-
data saver, and high speed
low and it worked like
switching at an incredibly
software company and a
hardware
company discovered then'
and issued
an edict for a*
EMS. In no time at all
?-• V --V.
~ 8RMX
]
■
Tall Tree Systems introduced JRAM-3
which usedthe-#™!^ EMS. It still
has the , the warm re- V
switching and the low'
,
but now it can j||f multi-user and multi-tasking
programs. Best of all it has a new '^p^called JLASER
It lets your HP Laserjet™ or other laser printer
based on the Canon
TM
do full page graphics and custom
typesetting just like K'
tZTfjc Cnb
Tall Tree Systems
1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980
JRAM-3
Rampage™
AboveBoard™
j JLASER
/
i re ~^#
/
&
/
/
a
/
/
$
269
495
395 1
Canon, AST
Research Inc.,
and Intel Corp.,
respectively.
The text and icons on this page were created on a Composition Technology International PageScan System
using a Tall Tree JRAM-3 board and was output on a Corona Laser Printer.
” f
CIRCLE NO. 197 ON READER SERVICE CARD
ZIM 25 A DBMS REVOLUTION
Have you been looking for perfect data management that you can
enjoy on your own terms? Then you've probably already heard of
ZIM 2.4 — the most powerful database system available. Until now.
Because ZIM 2.5 is here.
ZIM 2.5 is a fourth generation application development tool which
makes it possible to expand the capabilities of your micro beyond
what you've ever imagined. ZIM mirrors the complexities of the
real world by letting you develop as many and as varied
applications as you could possibly need.
"ZIM is... a successful migration of mainframe ideas and needs to a
micro. (ZIM) proves not only that the job can be done but also that
it can be done well. ZIM provides a reference against which current
and future data bases can be judged. " James Creane, Data Based
Advisor/July 1985.
Speed
ZIM breaks the speed limit — between 3 and 50 times faster than
industry leaders in sorting and joining files within the data-base.
ZIM's internal architecture, and the implementation of its strategy
analyzer and priority-driven buffering ability, ensure that data is
processed in the most efficient manner possible.
Portability
ZIM is the only database management system with 100%
application portability for single-user and multi-user
configurations. ZIM is available under PC-DOS,
Concurrent PC-DOS, UNIX, XENIX, and QNX.
Never again will you be required to re-write
your applications for different operating
environments.
Power
ZIM's high-level language lets you build user commands which
implement applications without the necessity and cost of additional
programming tools. ZIM's forms facility and extensive report
generator permit completely menu-driven applications. Completed
compiled, applications use the Runtime System, leading to fast
execution, preventing unauthorized access or modifications, and
decreasing cost and memory requirements.
Flexibility
ZIM gives you unprecedented simplicity and flexibility. ZIM
commands parallel simple English sentences, making it easy to
learn and use. Other features include automatic updates of all
indexes, multi-user support, and an extensive range of validation,
editing and masking facilities. ZIM's limits are only those of your
hardware, operating system and imagination. And with ZIM 2.5,
your database is no longer limited to a single hard disk.
"ZIM is (a) well-conceivedsoundly-implemented ,
thoroughly professional system. Its design evidences a
strong commitment to consistency and to the goal
of natural nonprocedural user interaction ."
Richard M. Foard, PC Tech Journal,
October 1985.
ZIM 2.5 — DATA
MANAGEMENT AT
ITS BEST
See us at
COMDEX/Spring
Booth # 4432
Dr., Suite 1200
Ontario, Canada
K2E 7V2
(613) 727-1397
ZAKTHE
INFORMATION INC
CIRCLE NO. 148 ON READER SERVICE CARD
If lightning still scares you,
you're using the wrong file manager.
Be sure. Btrieve.®
Lightning may strike. But it doesn't
have to destroy your database.
Btrieve® file management offers au¬
tomatic file recovery after a system
crash. So accidents and power failures
don't turn into database disasters. Your
Btrieve-based applications will come up
when the lights come back on.
Fast. Btrieve is lightning fast, too. Its
b-tree file structure automatically
balances—you never waste time reor¬
ganizing the index. And Btrieve is writ¬
ten in Assembly language especially for
the IBM PC. The result: electrifying
speed on file maintenance routines.
Applications that run fast. Users who
don't waste time waiting.
The standard for networking. When
your application requires multi-user file
sharing, Btrieve IN (network version)
sets the standard for the industry's
most popular LANs: IBM's PC Net¬
work, Netware, PC Net and EtherSer-
ies. And now Btrieve sets the standard
for multi-user systems: XENIX, Multi-
Link Advanced and others. Btrieve/N
offers safe network file management
that coordinates simultaneous updates
and protects against lost data.
Fully-relational data management.
Using SoftCraft's entire family of
products gives you a complete, fully-
relational database management sys¬
tem. Rtrieve™ adds report writing
capabilities for generating the reports
you need. Xtrieve™ speeds users
through database queries with interac¬
tive, on-screen menus—no command
language or special syntax.
For professional programmers.
Btrieve is the fast, reliable answer for
all your application development. In
any development language—BASIC,
Pascal, COBOL, C, FORTRAN and
APL. With multikey access to records.
Unlimited records per file. Duplicate,
modifiable, and segmented keys.
With Btrieve, you can develop better
applications faster. And know they'll be
safe if lightning strikes.
NO ROYALTIES
Suggested retail prices: Btrieve, $245;
Btrieve/N, $595; Xtrieve, $195;
Xtrieve/N, $395; Rtrieve, $85;
Rtrieve/N, $175. Requires PC-DOS or
MS-DOS l.X, 2.X, or 3.X.
Btrieve is a registered trademark and Xtrieve and
Rtrieve are trademarks of SoftCraft Inc.
SoftCraft Inc.
P.O. Box 9802 #917
Austin, Texas 78766
(512) 346-8380 Telex 358 200
CIRCLE NO. 201 ON READER SERVICE CARD
DIGITIZING ANALOG DATA / ERIC M. MILLER
The physical world of continuous data is such that measurement systems must be tailored for specific applications. A review of
several analog data acquisition boards that fit in the PC helps to guide users in their selection of the appropriate board.
52
THE PORTABLE APPROACH / RICHARD M. FOARD
The series on realtime systems continues with a look at Hunter & Ready’s VRTX, a product that emphasizes portability. Within a
processor group VRTX’s various modules are portable, and across processor families its interfaces are identical.
74
BREAKING THE 32-MEGABYTE BARRIER / THOMAS V. HOFFMANN
The maximum capacity for each volume on a hard disk was long accepted as 32 megabytes. This is no longer the case. Large disk
systems now allow a volume to be as big as available disk space. Seven systems, ranging from 55MB to 150MB, are tested.
94
FINDING DISK PARAMETERS / GLENN F. ROBERTS
DOS says less than it knows about low-level disk information. With the help of some documented and undocumented functions,
this information can be found. Two utilities, SHOW and INFO, allow users to explore DOS disk parameters and directories.
112
THE STATE OF C INTERPRETERS / MARTY FRANZ
While not yet up to the program development capabilities of compilers, C interpreters offer a level of performance that makes
them useful as prototyping and learning tools. C-terp, Instant-C, Introducing C, and Run/C are^tested for power and performance. 153
A DATA MANAGER: THE EVOLVING STANDARD / DAVE BROWNING
A product carrying the dBASE name has a long history to uphold. AshtonTate’s latest addition, dBASE III PLUS, maintains the
family name by adding a number of improvements to the basic mold. It is not revolutionary, but evolutionary in design.
166
11
30
201
216
DIRECTIONS
TECH RELEASES
PRODUCT WATCH
TECH MART
Programmer Productivity
47
207
219
17
TECH NOTEBOOK
LEGAL BRIEF
CALENDAR
LETTERS
Bit Rotation Speeds
Software Goods or Services?
221
29
191
209
READER SERVICE CARD
PRODUCT OF
PROGRAMMING PRACTICES
TECH BOOK
THE MONTH
Matching Regular
The Softstrip System
Expressions
Cover illustration • John Lei; special thanks to Sy>nc Sound
PRODUCTIVITY
TOOLS
From Opt-Tech Data Processing
Opt-Tech Sort™ ‘'sfc
ALL NEW Version 3.0 features even faster sorting,
record selection, output record reformatting,
dBASE III files, comma delimited fields, and much
more. This high performance sort/merge/record
selection utility can be used as a stand-alone program
or called as a subroutine from most languages.
Supports unlimited filesizes, multiple input files and
fixed or variable length records. Many special file types
are supported including Btrieve and dBASE. Up to
nine sort control fields (ascending or descending), all
common data types supported. Output files can be
combinations of full records, keys or pointers, subsets
of the input file fields, and literal values.
Written in assembly language for high performance.
Example: 4,000 128 byte records sorted to give key
and pointer in 30 seconds. $149.
On-Line Help™
A comprehensive utility for adding help windows to
your programs. It provides efficient utilities and
routines for interfacing your programs with the help
system routines and help message libraries.
Help windows are displayed in a fraction of a second.
You have total control over the contents of the window,
its size and its position on the screen, including the
display and border colors.
On-Line Help can be interfaced with interpreted Basic
and all popular compilers. $149.
Scroll & Recall™
Allows you to conveniently scroll back through data
that has gone off the top of your display screen. Up to
27 screens of data can be recalled or written to a disk
file (great for documenting systems operations).
Allows you to easily recall and edit your previously
entered DOS commands and data lines without re¬
typing.
Scroll & Recall is very easy to use. It’s a resident utility
that’s always there when you need it! $69.
All programs IBM PC/XT/AT & MS-DOS compatible.
Visa, M/C, AMEX, Check, Money Order, COD
or Purchase Orders accepted.
Quantity and Dealer Discounts Available
To order or to receive additional
information write or call:
Opt-Tech Data Processing
P.O. Box 678 - Zephyr Cove, NV 89448
(702) 588-3737
VOL. 4, NO. 5
PUBLISHER: Newton Barrett
EDITOR: Will Fastie
EDITORIAL
MANAGING EDITOR: Marjory Spraycar
EXECUTIVE EDITOR: Julie Anderson
TECHNICAL EDITORS: Jeff Duntemann, Caroline Halliday
ASSOCIATE TECHNICAL EDITOR: Dan Beale
SENIOR COPY EDITOR: Susan Holly
COPY EDITOR: Gail Shaffer
PROOFREADER: Kathleen Peddicord
NEW PRODUCTS EDITOR: Carole Autenzio
ADMINISTRATIVE ASSISTANT: Diana Carey
CONSULTING EDITORS: Thomas V. Hoffmann, Richard M. Foard
CONTRIBUTING EDITORS: Steven Armbrust, Don Await, Michael
Covington, Ted Forgeron, Augie Hansen, Ted Mirecki, Max Stul
Oppenheimer _
ART & PRODUCTION
ART DIRECTOR: Ina Saltz
ASSOCIATE ART DIRECTOR: Sharon Reuter
ASSISTANT ART DIRECTOR: Sandra Ray
ART SECRETARY: Sabrina Reynolds
ADVERTISING PRODUCTION MANAGER: Lisa Franey Ducey
EDITORIAL PRODUCTION COORDINATOR: Eve Hinderer _
ADVERTISING SALES
ADVERTISING DIRECTOR: Rita Burke
MARKETING COORDINATOR: Julie Henderson
ADVERTISING COORDINATOR: Michele Fischetti
DISTRICT MANAGERS: Rosemarie Caruso, Jan Schultz—East Coast; Ted
Bahr, Bill Bush, Phyllis Egan—West Coast
ACCOUNT REPRESENTATIVES: Pat Toohey, Jane Anderson—East Coast;
Arlene Braithwaite—Midwest; Pam Sigal, Jane Anderson—West Coast
CIRCULATION
CIRCULATION MANAGER: Charles Mast
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig
MEDIA MANAGER: Melinda Kendall
ZIFF-DAVIS PUBLISHING COMPANY
PRESIDENT: Kenneth H. Koppel
SENIOR VICE PRESIDENT, Marketing: Paul Chook
VICE PRESIDENT, Operations: Baird Davis
VICE PRESIDENT, Controller: John Vlachos
VICE PRESIDENT, Creative Services: Herbert Stem
VICE PRESIDENT, Circulation: Alicia Marie Ivans
VICE PRESIDENT, Circulation Services: James Ramaley
VICE PRESIDENT, Marketing Services: Ann Poliak Adelman
VICE PRESIDENT, Development: Seth Alpert
VICE PRESIDENT: Hugh Tietjen
BUSINESS MANAGER: Gary* A Gustafson
PRODUCTION DIRECTOR: Walter J. Terlecki
ZIFF COMMUNICATIONS COMPANY
PRESIDENT: Philip B. Korsant; EXECUTIVE VICE PRESIDENT: James D. Dunning, Jr.;
SENIOR VICE PRESIDENTS: Philip Sine, Kenneth H. Koppel; VICE PRESIDENTS: Laurence
Usdin, William L. Phillips, J. Malcolm Morris, Steven C. Feinman; TREASURER: Selwyn Taub-
man ; SECRETARY: Bertram A Abrams
EDITORIAL OFFICE
PC TECH JOURNAL, The World Trade Center, Suite 211, Baltimore, MD 21202.
301/576-0770. FAX (group 3): 301/576-9603. MCIMail: PCTECH. PCTECHline:
301/576-PCIJ. Telex: 6502565932 MCI._
ADVERTISING OFFICES
(East Coast I Midwest) One Park Ave., New York, NY 10016. 2121503-5185.
(West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-2100,
11 Davis Drive, Belmont, CA 94002. 415/598-2290.
SUBSCRIPTION INQUIRIES
PC TECH JOURNAL, P.O. Box 2968, Boulder, CO 80321. Subscription service:
800/525-0643, 303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to
Ziff-Davis Publishing, One Park Ave., 4th floor, New York, NY 10016.
PC TECH JOURNAL (ISSN 0738-0194) is published monthly, $29.97 for one year, $52.97 for
two years, $69.97 for three years. Additional postage $6 for Canada & Foreign by Ziff-Davis
Publishing Company, One Park Avenue, New York, NY 10016. Second-Class Postage paid at
New York, NY and at additional mailing offices. POSTMASTER: Send address changes or
subscription inquiries to P.O. Box 2968, Boulder, CO 80321.
PC TECH JOURNAL is an independent journal, not affiliated in any way with International
Business Machines Corporation. IBM is a registered trademark of International Business
Machines Corp. Entire contents Copyright ° 1986 Ziff-Davis Publishing Company. All rights
reserved; reproduction in whole or in part without permission is prohibited. Direct written
requests to jean Lamensdorf, Licensing Manager, Reprints/Rights & Permissions, One Park
Avenue, New York, NY 10016.
nn'
2
TUT
n
OURNAL
CIRCLE NO. 222 ON READER SERVICE CARD
Periscope Delivers
Professional Debugging Power
5VX -
GET YOUR PROGRAMS
WORKING FAST
"It works, and works well!! In the first day of use I
finished up two weeks of problems!!"
—Peter Loats
Periscope is "Always there with just a
push of the button". Whenever some¬
thing unexpected happens, just press
the break-out switch and Presto! Peri¬
scope's debugging power is at your
command. You can check out the prob¬
lem right away.
Periscope uses names—symbols—from
your program so you don't have to
remember addresses. It displays source
code and line numbers from high-level
languages, too. You save hours of time
because you access what you need with
familiar names!
Periscope's unique breakpoints force
bugs out from where they hide. With
over 75 breakpoint options, including
the ability to write your own break¬
point tests, you'll find those elusive
bugs fast!
MAKE YOUR SOFTWARE
RELIABLE
"1 can't live without it!! BRIEF, a text editor my
company wrote, would not be as stable as it is
today without Periscope." —David Nanian
With Periscope's broad range of capabil¬
ities, you can thoroughly debug your
software, giving it the reliability it
needs.
One user says that Periscope is a
"superbly engineered product" with
"virtually every feature possible!"
Here's a sampling of the features:
• See procedure and variable names
PLUS source code and line numbers
from high-level languages!
• Symbolic In-line Assembler
• 75+ Breakpoint Options—including
breakpoints on reads/writes to
memory and I/O ports!
• Traceback—see up to 2,016 previous
instructions!
• Optional Windows—change them
while debugging!
• Optional On-line Help
• Single/Dual-Monitor Support —
great for debugging screen-intensive
programs!
• View Text Files
• User Exits—customize Periscope
with your own programs!
• 8087/80287 Status
• Display memory in most any format
The break-out switch gives you what one user
calls "spontaneity of debugging". Press it any¬
time to stop the executing program and see
what's going on. The switch is so handy you'll
want to use it to learn more about your PC!
DEBUG PROGRAMS OTHER
DEBUGGERS CANT
"Periscope has changed my programming life
and is truly unique among PC debuggers . . . [it]
enables me to debug keyboard routines, device
drivers . . . without errors. Periscope is rock
solid." —Doug Roberts
Debug memory-resident and non-DOS
programs, device-drivers, keyboard
handlers, and interrupt-driven pro¬
grams. Recover when your system
hangs or your keyboard locks up. Safely
check out what's going on in your sys¬
tem anytime. Debug when DOS is not
working, debug DOS.
If your bugs can be found with a soft¬
ware debugger, Periscope can track
them down! (We've heard that a com¬
petitor uses Periscope to debug his
debugger.)
GET THE BEST VALUE!
"[Periscope is]the best value in development tools
currently on the market." —Jeff Garbers
Time and again users tell us Periscope is
underpriced. They tell us it pays for
itself in a matter of hours after they
begin using it. This means no profes¬
sional software developer can afford
NOT to try it!
Periscope I: Board, Switch, Software,
Manual, Reference Card ... .Just $295
Periscope II: Switch, Software, Manual,
Reference Card.Only $145
HOW TO DECIDE BETWEEN
PERISCOPE I & PERISCOPE II
MEMORY BOARD
The key difference between Periscope I
and Periscope II is the 'Submarine' board
included with the Periscope I package.
When you install Periscope I, crucial
debugger software loads into the board's
memory, which is then write-protected.
You don't have to worry about a run¬
away program destroying it! Periscope II
loads into low memory.
BREAK-OUT SWITCH
The break-out switch included with
either model of Periscope enables you to
debug anytime, even if your system is
hung. The Periscope II switch taps into
an already-in-use slot, so you don't need
a spare slot to install it. The Periscope I
switch plugs into the back of the 'Sub¬
marine' board, which requires a slot.
WHICH MODEL DO YOU NEED?
If your program writes to memory
below itself, you need Periscope I's pro¬
tected memory to make sure crucial
debugger software isn't overwritten.
Other than the protected memory, Peri¬
scope I and Periscope II are functionally
the same debugger!
If you're not sure which model you need,
call for details on our trade-up policy.
You can buy Periscope II, then trade it in
for Periscope I later if you decide you
need the protected memory.
Periscope requires: An IBM PC, XT, AT
or close compatible; DOS 2.0 or later;
128K RAM; one Disk Drive; and an 80-
column Monitor
Don't wait, order YOUR Periscope
today!
For Immediate Shipment Or More
Information, Call Toll-Free
EB 800-722-7006 S
30-Day Money-Back Guarantee!
Shipping-UPS ground $2.50. Air Mail $8
U.S./Canada, $24 elsewhere. We accept
PO's and COD's in the U.S.
Get Your Programs Up and Running;
UP PERISCOPE!
Data Base Decisions
14 Bonnie Lane
Atlanta, GA 30328
404/256-3860
CIRCLE NO. 215 ON READER SERVICE CARD
LAN REPORT 4
Choosing a LAN System.
New Report Outlines Steps For LAN Evaluation.
Choosing the best local area net¬
work hardware for your particular
installation is often a bewildering
process. There are many options
and few evaluation tools.
A new report developed
by Novell, Inc., is designed
to offer help. The study,
LAN Evaluation Report
1986, examines all of the
hardware issues that affect
LAN performance. It in¬
cludes an analysis of many
LAN products and a series
of benchmark tests.
A key element of the study is
the addition of an evaluation
system. The system provides
a mechanism for matching
site needs to specific hard¬
ware. Whether a new net¬
work is being planned or an
existing site is being up¬
graded, the study will be useful in
the performance evaluation of any
proposed network. As a network
operating system developer and
system reseller, Novell has experi¬
ence with LAN products from sys¬
tem support through installation
and day-to-day operation. Novell's
NetWare® network operating sys¬
tem supports 30 different LAN con¬
figurations including the NETBIOS-
compatible LANs. Information in
the LAN Evaluation Report 1986 is
based on that experience.
LAN Hardware Choices.
LANs are highly modularized
architectures. The rich assortment
of available LAN components
provides flexible building blocks
with which to customize networks.
System planning starts with the
LAN hardware: the network inter¬
face card (NIC) and cabling. Per¬
"The LAN Evaluation
Report 1986 includes an
analysis of many
LAN products as well
as a series of
benchmark tests."
sonal computers and other
machines are attached to a LAN
by plugging the NIC into the PC
expansion bus and attaching the
LAN cable to the NIC.
LAN hardware systems analyzed
in the study are:
• AT&T StarLAN
• Corvus Omninet
• Davong MultiLink
• Gateway G-Net
• IBM PC Network
• Interactive Systems LAN/PC
•Nestar PLAN 2000
• Novell S-Net
• Proteon ProNET
•Standard Microsystems ARCNET
•3Com EtherLink
•3Com EtherLink Plus
The IBM Token Ring Network is
also analyzed; however production
NICs were not available at the time
the report was written and could
not be included in the benchmark
tests.
The report analyzes each
NIC according to its access
scheme, raw bit rate, on¬
board processing, and
NIC-to-host transfer
method.
NICs divide information
into message units called
packets, transmit the
packets at a certain speed,
and manage the trans¬
mission and receipt of
those packets. In other
words, NICs implement a
hardware protocol.
One of the points made in
the analysis and benchmarks is
that the way a protocol is im¬
plemented is often more significant
to performance than the protocol
itself. Many LAN vendors are ac¬
tively modifying their NIC designs
to improve performance without
any change in the basic protocol.
Network Servers.
The network server manages all
network requests and data storage
functions. Because of this, the
server plays a key role in LAN per¬
formance.
Servers come in many different
configurations and designs. Some
are proprietary boxes that were
LAN REPORT 4
specifically designed as servers.
Others are personal computers
that are functioning as servers.
The LAN Evaluation Report 1986
analyzes and tests the following
servers:
• IBM PC XT
• IBM PC AT
• Novell S-Net
• 3Com 3Server
• Novell 286A and 286B
Processor type is the most obvious
difference among these
machines. They use the
Intel 8088, Intel 80186,
Intel 80286 or Motorola
MC68000. But other fac¬
tors are also important in
determining server perfor¬
mance, including proces¬
sor clock cycle speed, wait
states, server memory
cycle speed, memory
channel, and transfer bus
channel. All of these factors
determine the speed at
which data is moved and
processed.
NetWare Evaluation System.
The LAN Evaluation Report 1986
contains the NetWare Evaluation
System. While benchmark measure¬
ments are part of the system, they
are designed to be used only as
input in the evaluation formula.
The first of the two benchmarks is a
measurement of maximum through¬
put for a LAN/server combination
with a single workstation.
The second shows the maximum
working bandwidth for a fully
"The NetWare
Evaluation System provides
an excellent method of
LAN performance
comparison."
results and site profile are applied
to a formula which shows the
throughput of the proposed system.
Answers generated by the formula
provide several useful pieces of
information. The results from the
formula should be approximately
the same as the maximum
throughput in a single station test.
If the working bandwidth of the
proposed system is much greater
than the single station throughput,
this indicates that the LAN/server
combination has more
powerthan can be utilized
by the proposed network.
If the working bandwidth is
much lowerthan the single
station throughput, it indi¬
cates that the LAN/server
combination will be over¬
burdened.
One of the jobs that a
server handles is sending
data to and from the hard disk. The
speed of the server cannot alter the
speed of the disk channel. If a disk
channel can handle reads at 160
kilobytes per second, a faster pro¬
cessor isn't going to change that
figure.
A faster server, however, can
change the percentage of proces¬
sor utilization for specific servers.
High-performance servers use less
of the processor's time for specific
operations, freeing the processor to
perform other tasks. The result is
increased performance.
loaded network. In this test, six IBM
PC AT workstations were attached
to the various LAN/server combi¬
nations. The network was driven to
its maximum traffic capability.
Throughput results from all stations
were totaled to show the maximum
bandwidth of each network.
A formula for workstation usage is
then developed based on specific
values for a particular site. Five
categories of network users are
defined and used in establishing
this site profile.
As a final step, the benchmark
The evaluation system also
provides a method of
performance comparison.
Desired performance is
usually expressed in terms
of floppy or hard disk
speed. The study contains
data on the standalone
workstation performance
of the IBM PC AT and XT with both
floppy and hard disks. Using these
figures, the formula's results can be
compared to desired throughput.
Read the Full Report.
The LAN Evaluation Report 1986 is
available free of charge from
Novell. To obtain a copy, call
or write Novell Corporate
Communications, 748 North
1340 West, Orem, Utah 84057,
(801)226-8202.
NOVELL
ss
CIRCLE NO. 166 ON READER SERVICE CARD
HAVE YOU STRIPPED YET?
\ z
h
Its a question more and more PC owners are asking. And no wonder. What
everyone is talking about is Softstrip™. The revolutionary technology that is
changing the shape of computer software.
The Cauzin Softstrip System is more than just software or data on paper.
Because when you invest in this system, you can do much more with your
computer, and for far less than you are probably spending now. You can even
create and print out your own data strips using a dot matrix printer and a
special Strip Ware™ program .called “STRIPPER” that’s only $19.95.
But that’s only the beginning of an offer that’s going to make you wonder
why you haven’t stripped yet...
TAKE OUR ADS (SUCH AS THIS ONE)
It’s part of our expanding StripWare™ Library containing programs, data,
art, spreadsheet, macros and templates. The Library features a variety of
software applications and you’ll find new material appearing each month in
such leading computer magazines.
When you invest in the Softstrip System, you get the Softstrip reader, a
special storage base, and a full one-year replacement warranty. Also included
with your purchase is a complete Accessory Kit for your PC containing
connector cables and communications software to link your computer to the
reader.
In addition, you’ll find a StripWare Sampler with 48 programs from a
line-up of popular authors and publishers that includes Addison-Wesley, David
Ahl, Family Computing, Tim Hartnell, Hayden Books, PC Tech Journal,
Osborne/McGraw-Hill, The Waite Group, and John Wiley & Sons.
When you become a Softstrip reader owner, you also get a FREE one year
StripWare Club membership with programs mailed to you monthly. You’ll
even receive a FREE Cauzin Effect Newsletter filled with the latest updates
and news about Softstrip developments.
The Cauzin Softstrip System is just that, a complete system that opens up
a new world of computer programs and data on paper. And it’s all yours for
only $199.95!
For the Softstrip System Dealer nearest you, (or if there isn’t one in your
area, to order), call toll free: 1-800-533-7323 (in Connecticut: 203-573-0150)
Cauzin Systems, Inc.
835 South Main Street
Waterbury, CT 06706
FILLING UP ON REGULAR
The data strips on the right contain the REGULAR program,
by Jon Forrest, which appears in the Programming Practices
section (pp. 194) of this issue. REGULAR.COM is a text
searching program that works just like the FIND.COM
program supplied with your DOS.
So why do you need another program? There’s one big
difference between the two: REGULAR’S search string is a
Regular Expression, not a DOS wildcard. Extremely powerful,
the Regular Expression syntax is often used when writing
compilers.
Programmers will find this program to be remarkably useful.
Search strings can be either highly detailed or extremely vague
searches. Use it to search for syntax, items in parentheses, or
all the words starting with capital “A” and ending with e.
After you read in the data strips, refer to the article on page
191 for more details and complete operating instructions.
Reprinted with permission of PC TECH JOURNAL, a Ziff-Davis publication.
© 1986 Ziff-Davis Publishing Company. All rights reserved.
StripWare Library No. 259
5 I
CIRCLE 156 ON READER SERVICE CARD
ATRON BUGBUSTERS
GREASE BORLAND LIGHTNING
‘‘If I were starting a software company again, from scratch, Atron’s AT PROBE ™ would be among my very first
investments. Without Atron’s hardware-assisted, software debugging technology, the flash of Turbo Lightning™
would be a light-year away’.’ Philippe Kahn, President, Borland
-
Mu! ^
i dBa; ,
Symph
Micrc i
Micr< \
: PF$:\f||
* *Br.s ei
ti w jm
ocro Aii*
H ProdutJ
it *
>C PairtL,
HOW BORLAND
DOES SO MUCH,
SO WELL, SO FAST
We asked Borland
International president
Philippe Kahn to share
his secrets for rapidly
taking a good idea and
turning it into rock-solid
reality. How does the
Borland team do so
much, so well, so fast?
He begins, “I
remember when Atron
used the June 24, 1985
Wall Street Journal chart
of top-selling software in
an ad!’ [Note: At that
time, seven of the top ten
software packages were
created by Atron cus¬
tomers; it’s now now
nine out of ten.] “Side-
Kick was number four,
and I let Atron quote me
in saying that there
wouldn’t have been a
SideKick without
Atron’s hardware-
assisted debuggers.
“You might say light¬
ning has literally struck
again. Turbo Lightning
made number four on
SoftSel’s Hotlist within weeks of its introduction! And
again, I say we couldn’t have done it without Atron
debugging technology.
“Cleverly written code is, by definition tight, recur¬
sive, and terribly complex’,’ he continues. “Without the
ability to externally track the execution of this code,
competent debugging becomes very nearly impossible!’
Concludes Philippe, “And after Turbo Lightning was
solid and reliable, Atron tuning software turned our
Probes into performance analyzers. How do you think we
greased our lightning?”
Philippe, along with a couple million or so of your
satisfied customers, we say congratulations on yet
another best-selling product. We can’t wait to see what
awesomely useful technology will come shooting out of
Borland International next.
HOW BUGBUSTERS KEEP YOU FROM GETTING SLIMED
The AT PROBE is a circuit board that
plugs into your PC/AT. It has an
umbilical which plugs into
the 80287 socket and
monitors all 80286 activity.
Since AT PROBE can
trace program execution in
real time, and display the
last 2048 memory cycles in
symbolic or source-code
form, you can easily answer
the questions: “How did I
get here?” and “What are
those silly interrupts
doing?”
It can solve spooky
debugging problems.
Like finding where
your program over¬
writes memory or I/O -
impossible with soft¬
ware debuggers.
You can even do
source-level debugging
in your favorite lan¬
guage, like C, Pascal or
assembler. And after
your application is
debugged, the AT
PROBE’s performance
measurement software
can isolate perfor¬
mance bottlenecks.
Finally, the AT PROBE has its own 1-MByte of mem¬
ory. Hidden and write-protected. How else could you
develop that really large program, where the symbol
table would otherwise take up most of memory.
LOOK AT IT THIS WAY.
History shows that non-Atron customers don’t stand a
very good chance of making the Top Ten list. Lightning
really does have a way of striking twice!
The PC PROBE™ is $1595 and the AT PROBE is
$2495. So call Atron today. You can be busting some
really scarey bugs tomorrow. And maybe, just like
Borland, you can also bust some records.
^iiiS i \\
THE DEBUGGER COMPANY
20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900
Copyright © 1985 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. SideKick™ and Turbo Lightning™ Borland International, Inc., Adv. by TRBA, 408/258-2708.
5
1
1 119 A
2
4 :
| 30 J
3
•"'3
i
4
2 f
'% |
5
5 7
140 I
6
6
45 |
7
7
78 |
8
8
134 j
9
9
96 |
10
15
2 j
11
12
56 !
12
10
139 1
13
11
138
14
13
55
15
24
7
16
—
1
17
16
17
18
18
23
19
19
36
20
20
38
21
14
17
22
26
47
23
21
33
24
—
1 ’
25
17
! 22
26
22
j 48
27
25 |
j 134
28
29
—
30
1 133 j
ThinkT%
PFSrRep;
Words*,
Word , -
9 Mega% fi ; ..'
4 R:Basew. ' ;nk J
Helix
Hayden^ feftstyx 1
Micros^ '
Frame**,^
Microsoft
SuperCc;
pni^Msw
1-2*3 • 'XUS- %
Sidekick - Borijj
dBase hi * ' /
Mufftmata Mi
PfS;FH« ft*
Microsoft Wott
Sympftecy • uj
R;8m* 5CKMJ A
Mii-rrV"*-"' * *
Hot list
r^lHnghmr^ program** we<-« ,
twmwJtmS* *****
ntBUSHKR OSUST
l 1.2.3 • _...
124
_2 i*3j. _...
_3
1 \ i Asjtton Tate
51
W &*idc . /wdand
' M ^International
35
L. ^Symphony |/&>tu*
50
Bp PFS; file . Srftware
^ j/Tublishins:
145
f ~ Multimate Multimaie
li International
101
Bk. iHlae; 5000 ||&roriffl
. Microsoft
83
write SdHtvfire
LS ™ 1/Publiahtit*
101 1
!
CIRCLE NO. 203 ON READER SERVICE CARD
DIRECTIONS
WILL FASTIE
Programmer Productivity
What are we doing for (or to) ourselves?
R ecently, I’ve been programming.
Yes, I admit it. Every once in a
while, I set mechanical pencil to paper
and keyboard to screen to build some¬
thing. Notwithstanding previous com¬
ments about not wanting to program
(“Database Programs are Complex,” Di¬
rections, February 1984, p. 11), some¬
times a program is the only solution.
My efforts of late have been varied.
First I wrote about 1,000 lines of PAL
(Paradox Applications Language) for last
month’s data manager review. Then I
added 400 lines of Turbo Pascal to
enhance a 500-line program PC Tech
Journal uses to prepare the camera-
ready copy of our listings on a laser
printer. Next was the conversion of a
20-module C program (a game I once
wrote) to the Microsoft C compiler as a
test of C’s portability and to try some
new debugging tools. I then slid back
over to Turbo to modify a source file
lister to produce reasonable hard copy,
of the game program.
In the meantime, I am immersed
in other languages. Reviews of BASIC
interpreters and compilers are in pro¬
gress. A review of Prolog implementa¬
tions was published in January (“Pro¬
gramming in Logic, Michael Covington,
p. 145). Microsoft has released new ver¬
sions of just about everything, and we
had to explore inter-language calling
methodology, new debuggers, and
COBOL tools. LISP and TI’s SCHEME
have a heavy presence in the office at
the moment. And last, but not least, I
have been poring over PC Tech Jour¬
nal's recent research to see what our
readers are doing with languages.
So I am up to my armpits in C and
Pascal and MASM and LINK and MAKE
and SYMDEB and Periscope’s breakout
button and David Schwaderer’s great C
Wizard’s Programming Reference ; I am
longing for a 20-MHz AT with a 50MB,
5-ms disk, and I am taxing my family’s
patience and my own longevity by ad¬
ding just one more function or fixing
just one more bug at 2 a.m., all the
while swilling Coke (Classic) and
munching M&M’s and aurally inputting
dangerous levels of rock ’n roll.
This is exactly what I was doing
when I became a professional program¬
mer in 1973. I am a bit more efficient
now, and I know how to avoid many,
many pitfalls, but the basic (no pun)
work is unchanged. Code, edit, compile,
link (except for Turbo), debug, and do
it again—with tools that are fundamen¬
tally the same as 13 years ago. Sure,
they are on a micro; some of them are
inexpensive, and some are pretty neat.
But / still have to balance BEGIN-ENDs
or parentheses. / still have to observe
tight syntax rules. / still have to develop
strategies and algorithms for even the
simplest of tasks. Most important, / still
have to reduce the abstract problem to
a set of instructions that, when com¬
plete, do not themselves bear much re¬
lationship to the original problem.
We have arrived at a point when
the tree of research in artificial intelli¬
gence may finally bear fruit for the end
user. A number of packages now on the
market, such as MDBS’s Guru and TI’s
Personal Consultant, are tools for build¬
ing expert systems. Mass market interest
in AI is growing and is bound to be
spurred on by the availability of under-
$100 products such as Turbo-Prolog
and TI SCHEME; SCHEME, in particular,
may increase the understanding of LISP
as a prototyping language.
So what do I want? I was struck by
a remark made by Peter Gabel of Arity
at the Personal Computer Forum in
February (see sidebar on next page):
Arity Prolog is built as an open system
so that Prolog programs can be directly
integrated with C, FORTRAN, Pascal,
COBOL, or whatever. There are many
places in programs where I would
much rather state the rules than write
procedural code. Why not let a program
reason and infer at certain points and
sequentially process at others? If I could
do that, certain difficult sections of code
could be handled in terms closer to the
problem than the machine and with far
less time and work on my part.
But then, I thought, why program
in the traditional way at all? Why
couldn’t an expert programming assis¬
tant turn my rules and descriptions into
programs? Why couldn’t it keep track of
all the pieces and use them as needed?
Why couldn’t it modify my previous
code to meet new requirements, asking
only for the new constraints?
This is not a pipe dream. Techno¬
logical barriers may stand in the way,
but even now we can surely do better
than the software engineering techno¬
logy of 15 years ago. 1""— 1
MAY 1986
11
ILLUSTRATION • MACIEK ALBRECHT
DIRECTIONS
A SOIREE IN PHOENIX
It’s tough in the trenches.
First, you subscribe to Esther
Dyson’s RELease 1.0. Then you pony
up $1,000 (okay, she is a marketer; the
price is actually $995) to enroll in her
now-famous, annual industry 7 forum in
Phoenix. Then you ante up another
$1,000 or so to stay at exclusive Pointe
Tapitio, high above scenic Phoenix.
What that buys is a few days in Febru¬
ary to bump shoulders with the
movers and shakers in the computer
industry and maybe even find out
what is really going on.
This year publisher Newt Barrett,
executive editor Julie Anderson, and I
prowled the conference on the look¬
out for juicy tidbits, hot gossip, and,
hopefully, significant trends. Coming
off a somewhat depressed year, we
wondered if we would hear caution
and reserved predictions for the forth¬
coming year. We also wondered if we
would would hear anything to make
the blood run and generate renewed
industry excitement. That did not hap¬
pen, but here are two observations.
Artificial intelligence. This is, of course,
one of Dyson’s pet areas, so it was no
surprise to see so many AI companies
represented at the forum and in the
unique company sessions that fill each
afternoon. A greatly increased accep¬
tance of and interest in AI technology
was quite evident. The AI company
sessions I attended each began with a
description of the firm and its fi¬
nances; such information is clearly di¬
rected at analysts and financial types,
who attended these presentations in
considerable numbers. High-technolo¬
gy ventures are now back in good fa¬
vor with the investment community,
and AI companies are obviously deal¬
ing with leading-edge technology.
But it was not just the financiers
who showed interest. AI and its prom¬
ise to the end user was a major topic
of conversation among attendees. This
was the greatest level of general inter¬
est I have seen in AI and may be an
indicator of better things to come.
The end user. At one point during the
conference, Dyson asked all end users
in the audience to raise their hands,
whereupon she counted seven—four
more than attended last year. But they
were feisty and found themselves
well-represented on several panels by
Danielle Barr, a vice president with
the Bank of New England.
They also found themselves in
the driver’s seat. If no other theme
pervaded the conference, the impor¬
tance of end users and the need to
deliver functionality to them certainly
did. That may sound strange: how
could we be in business if we did not
focus on what the user needed?
The growing realization is that we
have for too long focused on what we
thought end users needed. They got
us into business to begin with by buy¬
ing so many of the computers that this
industry built; now they are asking us
to pay attention to what they really
need, what will do them the most
good. They want us to pay attention to
standards and make their investment
pay off for as long as possible.
So no revolution emerges from
Phoenix. But some signs indicate that
the desktop computer industry is
evolving from infancy to childhood,
that we are learning to walk and talk.
That’s a good sign in itself.
—WF
A BASH IN SEATTLE
The “First International Conference on
CD ROM” was held in Seattle during
March, sponsored and elegantly
hosted by Microsoft.
CD ROM, which stands for com¬
pact disk/read only memory, is the
second stage in the evolution of op¬
tical, read-only media—the first stage
being the audio compact disk. It is a
plastic disk, about 19 mm (4% inches)
in diameter and 2 mm thick. It can
hold about 500MB of data—about
250,000 pages of single-spaced text.
Assuming that the data are properly
formatted, a CD ROM can be mastered
for as little as $3,000 and produced
for as little as $20 per disk in small
quantities.
The ability to put such vast quan¬
tities of data on such a tiny and inex¬
pensive media has spawned an indus¬
try. Perhaps most visible is Gary Kil-
dall’s company, KnowledgeSet (for¬
merly Activenture), which, with Grol-
ier, has produced a text-only encyclo¬
pedia on CD ROM and built a product
called KRS (Knowledge Retrieval Sys¬
tem) to access it from desktop com¬
puters. This emerging business hopes
to put just about any kind of data
imaginable onto CD ROM.
Two examples stem from Micro¬
soft’s commitment to the technology
(it has formed a separate division to
concentrate on CD ROM). The first is
an impressive multimedia demonstra¬
tion disk that includes text, still pic¬
tures, audio, and video. The demo
shows how reading an article about
the Olympics could be enhanced by
photos of key events or how the sub¬
ject of DNA could be driven home by
a rotating model of the double helix.
The second example is The New
Papy>rus, a 600-page collection of pa¬
pers published by Microsoft Press just
in time for the conference. Computer
Access Corporation worked with Mi¬
crosoft Press to take the data files that
were used to prepare the book, invert
them (build a complete, word-by-
word index), and plop them onto a
CD ROM, a project that was completed
in just three weeks. Computer Access’s
program Bluefish, a full-text data man¬
agement system, provides the engine
needed to locate word references
anywhere in the book.
A standard for the CD ROM me¬
dia already has been fixed. This means
that any CD ROM reader will read any
CD ROM. However, several different
hardware interfaces remain, even to
the IBM PC, as do many different soft¬
ware access methods. It takes Bluefish
to read The New Papyrus, KRS to read
Grolier, and Windows and special
Microsoft drivers to read Microsoft’s
fancy demo; in each case, the software
must be equipped with drivers to han¬
dle the hardware.
Worse, the mini-industry seems
poised to launch CD ROM just as the
giant Philips/Sony consortium
announces the CD-I (for interactive)
specification, the final evolutionary
step and one that is as important as it
is confusing.
Such is the promise of CD ROM
that 800 people paid to learn about
it—500 more than Microsoft projected
and 200 less than wanted to attend.
What Microsoft’s conference demon¬
strated was a dazzling technology,
rampant interest, and much more seri¬
ous work to come.
—WF
12
PC TECH JOURNAL
TinyTurbo286 — $695 (
AT Speed in a Half Slot
The People’s Choice
PCturbo 286e —$1195
Double AT Speed in a Full Slot
The Super-Achiever’s Choice
BE #1 WITH THE LEADER
Two Breakthroughs to TURBOCHARGE Your PC!
Orchid became the #1 Turbo
company by delivering the
performance, price, and
compatibility you wanted. Now
we have followed our critically-
acclaimed PCturbo 186 with two
powerful new 8MHz 80286
Turbos.
TinyTurbo 286
A half-slot PC/XT caching
accelerator for AT speed at a tiny
cost. It's 100% PC compatible,
even with copy-protected
software, because you can switch
back to the 8088 - a feature our
competitors wish they had.
PCturbo 286e
A full-slot PC/XT/AT coprocessor.
Twice the speed of an AT; 5 times
that of a PC for lightning
calculations, dazzling screens,
and unbelievable performance.
A Megabyte of RAM, optional
EMS memory, and free RAM
Disk, Caching, and Print
Spooling. Now your PC can wait
on you instead of the other
way around.
▲ Windows: No longer do you
need an AT to make it fly.
A Math: Crunch through
computations with 8MHz
80287 power.
A Spreadsheet: Load and
recalculate with amazing
speed.
A CAD: Redraw, zoom, and pan
in a flash.
A Database: Run lengthy up¬
dates on Friday rather than
all weekend.
Orchid's 286 Turbos - The power
you need to get your work done
faster. Let the #1 Turbo Leader
make you #1 on the job.
PCturbo 286e and TinyTurbo 286 are trademarks of Orchid Technology.
All other products names are trademarks of their manufacturers. CIRCLE NO. 142 ON READER SERVICE CARD
Norton SI Program V3.0
IBM XT IBM AT Orchid Orchid
TinyTurbo PCturbo
286 286e
Choose TinyTurbo 286
If you would like AT speed.
Choose PCturbo 286e
If you demand the ultimate
in performance.
47790 Westinghouse Dr.
Fremont, CA 94536
415/490-8586
Tlx: 709289
ORCHID
The Innovative Leaders
3 REASONS TO “WONDER”
ea
Size |
| Bourbaki 1
Inc
| VOLUME II
DATABASE
► SUB-D1R
HELP
► SUB-DIR
INF0STAR
► SUB-DIR
LOTUS
► SUB-DIR
NETSYS
► SUB-DIR
PALANTIR
► SUB-DIR
SYSTEM
► SUB-DIR I
TELECOM
► SUB-DIR
THINK
► SUB-DIR
WONDER
► SUB-DIR
WORDS
► SUB-DIR
NOTES
1647
APPOINT
APP
0
AUTOEXEC
BAK
128
Statistics
► Disk Usage «
2 Hidden files
104 User files
4038656 bytes left
1552384 bytes used
10592256 bytes total
►► Memory Usage
446048 bytes left
78240 bytes used
524288 bytes total
►►► Today Is
Wednesday the 18th
2:13:49 pm
C > "Wonder" Provides UNLIMITED USER 0EF1NEABLE Menu/Macro Capability!!!
Toggles
Main Menu
| Batch ||=
mi
Set-up
Pause
On
Sort
Ext
Default
C:
Display
C:
1 [Compose]™ i
Type
Rename || Erase || Date || Mkdir || Options |j=j|
Simply Press F10 to Display ONE of Your APPLICATIONS MENUS 11
i|| LOTUS |1|
INFOSTAR | DBASE || THTANK | HAYES NETWORK
1 » n
The 1 DIR Version 3.50 — Copyright (c) Bourbaki, Inc. 1
The “Wonder” screen acts as a sophisticated control panel to guide
novice users and speed experienced users through the intricacies of
program selection and file management. Its menuing/macro functions
and point and shoot file management can help companies as well as
individuals Organize, Customize and Standardize computer
operations.
“Wonder” is compatible with IBM, its compatibles, portables and a wide
range of network systems. System requirements — IBM PC/XT/3270
PC/AT/jr. or compatible; DOS 2.0 or higher; one disk drive.
A It’S A It’S . It'S
PROVEN POWERFUL ■ ■ EASY
“Wonder” has earned .high marks
and a reputation as an industry
standard through years, not months,
of user input and development. Be¬
sides the thousands of registered users
that have relied on “Wonder”, it has
been put to the test by hundreds of
small businesses and site licensed by
corporations like IBM, AT&T, GM
and UPS. Over the years it has made
hard disk operation easier for thousands,
by providing the friendly face that greets
users of Quadram, QUBIE’ and Basic
Time Systems. Currently “Wonder” is
licensed by more hard disk manu¬
facturers than any program of its
kind.
“Wonder” has grown in popularity
the old fashioned way — by word of
mouth from one satisfied user to the
next. Today those words are echoed by
those who review the industry — here’s
what they’re saying.
Compute 10/85: “Whether you’re a
beginner or an experienced user , 1 dir
(“Wonder”) can simplify your introduc¬
tion to MS-DOS and make your time on
the computer more productive. ”
Info World 11/85: “This is the one we
would choose if we really needed the
powerful features ...”
PC Products 8/85: “Quite simply
Id Ir (“Wonder”) works flawlessly ...”
PC 12/85: “Overall Tdlr does
indeed spell WONDER. ”
“Wonder” is not only an un¬
complicated environment for be¬
ginners, it’s also a sophisticated tool
for experienced users. It’s excellent in
a hard disk environment where file
organization and accessibility are a must.
The “point and shoot” “Wonder” system
makes single or multiple file operations
fast and nearly effortless.
With the unique Menu Builder you
can create single key stroke com¬
mands to run programs or perform
any multi-file, multi-command
operation. The utility of the Menuing
System is that it functions with the same
simple cursor movement that drives the
rest of “Wonder”, so any user familiar
with File Management can easily build
custom menu commands. Almost any¬
one can create a turnkey system that
takes the hassle out of DOS forever.
Many corporations have an ulterior
motive for introducing new users to
“Wonder”. Its menuing system is an
excellent vehicle for establishing stand¬
ardization. Through a system of shared
commands companies can assure
speed and uniformity while re¬
ducing support requirements.
Many corporate training centers and
independent training consultants
across the country use “Wonder” to
soothe initial fears and pave the way to
increased productivity. It eliminates
the complex and hidden nature of
DOS and replaces it with a point and
shoot file management system. With
“Wonder,” training centers are finding
that beginners don’t stay novices for very
long — the average is DOS literate and
functional in hours not days.
The same strengths that make
“Wonder” popular with training special¬
ists make it ideal for independent users.
First “Wonder” requires no special
training; all major functions are
cursor driven. It eliminates the need
for you to remember syntax or type DOS
commands. Secondly “Wonder” in¬
cludes a DOS help system that can
actually help beginners to learn DOS
basics. And, finally, “Wonder” is easy to
install — a relative novice can install
a basic system in minutes.
For information or to order
contact your local dealer or call
(208) 342-5849.
Don’t settle for JUST file manage¬
ment. Get the extended power of
“Wonder”.
CIRCLE NO. 247 ON READER SERVICE CARD
Bourbaki Inc
P.O. Box 2867
Boise, ID 83701
(208) 342-5849
y
A
$9500.
Data
Defense!
with FastbacK
Before your valuable data comes under fire from a hard
disk crash, is annihilated due to an accidental reformat,
or destroyed by any other frontal attacks, get FASTBACK.
With FASTBACK, you can defend your valuable data
from loss without spending a fortune on a clumsy tape
backup system. For just $179, FASTBACK is the software
backup utility that consistently outperforms tape systems
costing $1000 to $2000 or more — on your present floppy
disk drive.
The best defense is a good offense.
FASTBACK attacks the danger of data loss at its source:
slow, hard-to-use backup procedures. Let's face it, if you
have to spend hours to back up your full hard disk (as you
do with the DOS "BACKUP" utility), you're not going
to do it very often. But with FASTBACK you can back up
a full 10 megabytes in just 8 ??iinutes flat (4 minutes on the IBM
PC-AT)! So you can back up every bit of data every day,
without even missing a coffee break.
But is it bullet-proof?
We won't guarantee your backups will be bullet-proof,
but we've stapled them, nailed them, and even punched
a hole bigger than a .22 calibre slug right through one —
without losing a single byte of data! FASTBACK's ad¬
vanced error-correction algorithms push safety to the
very limits of human ingenuity. That's Data Defense!
Be safe, not sorry.
FASTBACK is fully self-contained, and works with any
make or size hard disk running on any IBM™ PC or
compatible (requires PC-DOS™ or MS-DOS™ version 2.0
or higher and at least one floppy disk drive). It is fully
file-oriented (not a "disk image"), menu-driven and easy
to use, with built-in safeguards that make it virtually
"fool-proof".
So get the safe solution, and get it fast. Get FASTBACK
today. _=_ Fifth
- = Generation
^ 5 Y S T E M S
909 Electric Ave Suite 202, Seal Beach, CA, 90740; 7942 Picardy Ave
Baton Rouge, LA, 70809; Tel : 1-800-225-2775 or (213) 493-4483
Marketing and Sales by CSSL, Inc.
This product is in no way associated with or has origination in Fisher Scientific or Allied Corporation. IBM-PC, IBM-XT. IBM-AT and PC-DOS are
registered trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft, Inc.
CIRCLE NO. 108 ON READER SERVICE CARD
Now You Know Why
BRIEF is BEST
“There is nothing this editor can’t do except make babies and
I understand that’s in the next release . David Irwin, Data Based Advisor, 12/85
The Program
Editor with
the BEST
Features
Since its introduction,
BRIEF has been sweep¬
ing programmers off
their feet. Why?
Because BRIEF offers the
features MOST ASKED
FOR by professional
programmers. In fact,
BRIEF has just about
every feature you’ve
ever seen or imagined,
including the ability to
configure windows,
keyboard assignments,
and commands to
YOUR preference. One
reviewer (David Irwin,
DATA BASED ADVISOR)
put it most aptly,
“(BRIEF).. .is quite
simply the best code
editor I have seen.”
(Systems
TM
WINDOWS
Brief does do windows, and it does them your way!
You can split the screen horizontally and vertically
multiple times, creating as many windows as will fit on
the screen. Each window can show any part of any file.
BRIEFS flexible, easy to use windows make working
with several files a breeze.
“BRIEF’S windows are used very effectively... You
can display as many windows as you can stand at one
time... Movement between windows is easy, and data
can be shipped between windows. You can even edit
the same program in two windows at the same time. ”
“You have to see this to believe it.”
Elliot Niman - C Journal, Fall 1985
Every Feature You Can Imagine
Compare these features
with your editor (or any
other for that matter).
• FAST
• Full UNDO (N Times)
• Edit Multiple Large Files
• Compiler-specific
support, like auto
indent, syntax check,
compile within BRIEF,
and template editing
• Exit to DOS inside BRIEF
• Uses all Available Memory
• Tutorial
• Repeat Keystroke
Sequences
• 15 Minute Learning Time
• Windows (Tiled and
Pop-up)
Unlimited File Size
-(even 2 Meg!)
Reconfigurable Keyboard
Context Sensitive Help
Search for “regular
expressions”
Mnemonic Key
Assignments
Horizontal Scrolling
Comprehensive Error
Recovery
A Complete Compiled
Programmable and
Readable Macro Language
EGA and Large Display
Support
Adjustable line length
up to 512
Program Editing
YOUR Way
A typical program editor
requires you to adjust
your style of programming
to its particular require¬
ments - NOT SO WITH
BRIEF. You can easily
customize BRIEF to your
way of doing things,
making it a natural ex¬
tension of your mind.
For example, you can
create ANY command and
assign it to ANY key -
even basic function keys
such as cursor-control
keys or the return key.
The Experts Agree
Reviewers at BYTE,
INFOWORLD, DATA
BASED ADVISOR, and DR.
DOBB’S JOURNAL all came
to the same conclusion -
BRIEF IS BEST!
Further, of 20 top in¬
dustry experts who were
given BRIEF to test, 15
were so impressed they
scrapped their existing
editors!______1—
r^oev protected! <
MONEY-BACK GUARANTEE
Try BRIEF (S195) for 30 days - If not satisfied get a full refund.
TO ORDER CALL ( 800 - 821 - 2492 )
SOLUTION SYSTEMS, 335-P WASHINGTON ST., NORWELL, MA 02061, 617-659-1571
BRIEF is a trademark of UnderWare
CIRCLE NO. 123 ON READER SERVICE CARD
LETTERS
THE CASE FOR CONCURRENCY
The December 1985 issue of PC Tech
Journal included an article entitled
“Concurrent Environments” (Don Await,
p. 52) and an accompanying table that
compared various concurrent operating
systems for the PC/XT and PC/AT. Unfor¬
tunately, several factual errors were
made concerning Concurrent PC-DOS.
First, Concurrent PC-DOS allows
the user to run up to four PC-DOS tasks
and an unlimited number of CP/M tasks.
Second, code and data sharing is sup¬
ported on .CMD programs. Third, the
user can cut and paste between applica¬
tions by using the Window Manager of
Concurrent PC-DOS; the on-line help
system outlines this function. Fourth,
developer kits are available for all of
our operating systems, including Con¬
current PC-DOS. Finally, Concurrent PC-
DOS extended memory will be sup¬
ported as of an April release.
In conclusion, Concurrent PC-DOS
from Digital Research is a true con¬
current operating system.
Michael Loftus
Manager, Systems Software
Digital Research, Inc.
CP/M features of Concurrent PC-DOS
(ClPC-DOS) were not reviewed, only its
MS-DOS software. For more detail, the
reader was directed to a previous re¬
view of the product. The number of
concurrent CP/M tasks that can execute
the code/data sharing of .CMD pro¬
grams only (not MS-DOS .EXE or .COM
files) therefore were not mentioned. I
might add that the 640KB memory re¬
striction of ClPC-DOS 4.1 makes state¬
ments about running an “unlimited
number ” of tasks impractical.
Cut-and-paste is available through
the COPYMENU command. It was
missed because the manual makes no
mention of it; it is only referenced in
the on-line help.
Digital Research includes an order
form for a C/PC-DOS Programmer's
Guide, which provides technical infor¬
mation on system calls and operating
system characteristics of C/PC-DOS.
—Don Await
In the December 1985 issue, Don
Awalt’s “Concurrent Environments” was
timely and informative. However, I dis¬
agree with a few of his assertions.
Because many programs do not
issue system calls continuously, time
slicing is usually more efficient than
nonpreemptive scheduling at balancing
the performance of concurrent pro¬
grams on the PC. (It certainly is less
“simple” to implement than non¬
preemptive scheduling, and my experi¬
ence with Crosstalk XVI running under
DESQview suggests that lost characters
should not be a problem at 1200 baud
with a buffered, interrupt-driven com¬
munications program). It is best to
combine techniques, like MultiLink and
many mainframe systems do.
Concurrency can degrade perform¬
ance: because DOS does not provide
overlapped disk I/O, running two pro¬
grams concurrently usually takes much
longer than running them one after the
other. The exception is where one pro¬
gram spends most of its time waiting
for a slow I/O device such as the key¬
board or a serial port. Of course, the
ability to switch rapidly among multiple
applications can be useful even without
true concurrency.
Unlike paged virtual memory, disk
swapping does not increase the number
of applications that concurrently exe¬
cute. (Programs swapped out are sus¬
pended until they are restored.)
Table 1 would have been more
useful if it also had listed the memory
overhead for each partition. Obviously,
partition overhead can limit the number
of programs that fit into memory.
The author also missed some
important aspects of the product:
DESQview does provide expanded
keyboard buffering (table 1 is incorrect)
and, like TopView, its scheduling algo¬
rithm normally gives a foreground pro¬
gram more time slices than a back¬
ground program. Unfortunately, DESQ-
view’s time-slicing algorithm apparently
can break down when dealing with cer¬
tain types of foreground programs that
sometimes lock out other concurrent
programs (a serious problem if, for
example, a communications file transfer
is in progress in the background).
DESQview will not run any pro¬
gram properly that invokes a “child”
process, such as a DOS shell. (Memory
gets corrupted to the point that a cold
reboot often is required.) This makes it
impossible to execute a second copy of
COMMAND.COM in a batch file.
DESQview fails to use the COM-
SPEC environmental string properly. It
requires copies of COMMAND.COM in
the root directory as well as its own.
Under DESQview, Print Screen
does not always print the visible screen.
(Sometimes the invisible foreground
screen is printed.) In addition, DESQ-
view’s display management can exact a
performance penalty of up to 50 per¬
cent for certain programs.
On the other hand, there is a lot to
like about DESQview: compact size,
batch file and extended memory sup¬
port, TopView compatibility, disk swap¬
ping, elegant mark and transfer, and
sophisticated keyboard macros. In fact,
despite the problems mentioned above,
I find it a useful tool and superior to
TopView. (TopView’s lack of support for
redirection and batch files is a particu¬
larly glaring weakness.)
I do not share the author’s enthu¬
siasm for Windows. In the demonstra¬
tions I have observed, the nonpre¬
emptive scheduling algorithm and bit¬
mapped graphics resulted in painfully
sluggish response. Windows also seems
less capable than DESQview at running
poorly-behaved programs concurrently.
I also think that the author was too
kind to Concurrent PC-DOS. In my ex-
MAY1986
17
LETTERS
tensive testing, I found that its limita¬
tions and weaknesses made it virtually
useless for IBM PC-DOS applications.
All of the concurrent environments
need development. However, they may
run out of time if the rumored multi¬
tasking DOS 4.0 becomes a reality.
John Navas II
Palo Alto, CA
When Mr. Navas says that time slicing is
more efficient than nonpreemptive
scheduling, he assumes that the over¬
head required by time-sliced task switch¬
ing is greater than the time saved by
optimizing tasks waiting for I/O, an
assumption that is sometimes true.
I share Mr. Navas's enthusiasm for
DESQview in comparison to TopView.
My greater enthusiasm for Windows is
based in part on its attempt to define a
graphics user interface with sufficient
features and performance characteris¬
tics to be useful to software developers
and end users. The greater the function¬
ality on the office desktop, the greater
the need for a good interface for users
who are not computer literate; the MS-
DOS command-line input method is not
acceptable in the long-term.
Further, the performance of the
latest version of Microsoft Windows is
equal or superior to the other packages
tested, although demonstration of this
fact is difficult: a common set of third-
party software packages would not
simultaneously run with all the concur¬
rent environment packages tested. This
left an apples-and-oranges situation for
testing (the reason benchmarks were
not run with the article).
However, if multitasking DOS 4.0
eventually becomes a reality, I will bet
that Windows will remain a viable
product in some form.
—Don Await
I enjoyed “Concurrent Environments,”
as it seemed to be both comprehensive
and well-researched. Based on the
author’s conclusions, I recommended
Windows to a friend. He then bought
the package, primarily to be able to do
other things while downloading from
bulletin boards.
Imagine our dismay when we
found that Windows does not multitask
standard applications. Except for Win-
Aps, it either suspends tiled applications
or simply turns over control. This was
confirmed by Microsoft. Therefore, ex¬
cept for special applications, Windows
should not even be rated alongside true
concurrent environments.
Because it seems so prejudicial, I
cannot understand how such an impor¬
tant caveat could have been omitted. In
the article, the discussion of different
modes carefully avoids this issue, leav¬
ing the impression that Windows han¬
dles each kind of application to the
greatest extent. In truth, no attempt is
made to multitask anything except pro¬
grams written to Microsoft’s standard.
By this omission, you have misled
many people into buying a package that
does not do what it claims to do. In try¬
ing to understand the reviewer’s view¬
point, my only guess is that for some
reason, he failed to test the Windows
package adequately beyond noticing
that the initial screen was not in color.
(A deception by Microsoft—the box
shows a color EGA screen, but with a
color graphics adapter. In 640-by-200
high-resolution mode, only black and
white is possible).
I suggest that you check into this
problem. If a review is biased or in¬
complete, software developers with su¬
perior products are hurt, and the public
We give you the
building blocks, you
create the bridges
Lotus paved the road for busi¬
ness computing with Sym¬
phony, but they couldn't go
far enough for every business.
Often there is a gorge between
what you get, and what you
need. So we designed Con¬
certo add-ins that integrate
directly with Symphony's other
features. Interpreted and
Compiled BASIC versions of
Concerto include a library of
ready-to-run programs. And
all versions let you program for
your own applications in one
of three languages: Inter¬
preted BASIC, Compiled
BASIC, or Turbo Pascal.
More than twenty-five special
Symphony functions help
you construct your own
bridges. With Concerto, Sym¬
phony can take you where
you need to go.
"...you should have a
copy...It's only $99 and
allows you to
write...programs that
run in the Symphony
environment and
'communicate'with
the spreadsheet in
wonderful ways.
Fantastic stuff."
John C. Dvorak,
Infoworld.
For more information, or to
order call 1-800-222-4711.
In Indiana, 1-317-259-4711.
Interpreted BASIC, Compiled
BASIC (Microsoft's QuickBASIC
or IBM's BASIC Compiler),
Turbo Pascal— S99 each.
Payment by check. Visa,
MasterCard, or American Ex¬
press, Indiana residents add
5% sales tax; shipping $5 USA,
$ 15 outside USA. Not copy
protected; money-back
guarantee!
(Qncekict
2421 Willowbrook Parkway. Suite 507
Indianapolis, IN 46205
© LeBlond Software
Symphony and Lotus are trademarks of Lotus
Development Corp. Turbo Pascal is a regis¬
tered trademark of Borland International Inc.
WordStar is a registered trademark of MicroPro
International Corp. Microsoft is a trademark of
Microsoft Inc.
CIRCLE NO. 125 ON READER SERVICE CARD
18
PC TECH JOURNAL
_ Flashy
Programs.
dBASE • Turbo Pascal • BASIC • C • COBOL • Fortran • Lotus 1-2-3...
FLASH CODE™ SCREEN SCULPTOR™
NEW!
FLASH-UP WINDOWS™
An incredibly flexible and powerful
tool for Flash-Up M Menus and Flash-
Up Help Windows!
Every program, every applica¬
tion becomes more sophisticated
and easier to use with Flash-Up
Windows.
Use the window editor to
instantly create windows. Change
their size, location, color...all auto¬
matically. Specify a string of char¬
acters or control codes to send
back to your application program.
The windows can be flashed-up
directly by your program OR by the
user with the keyboard. Windows
can even call other menus or help
windows.
An absolute necessity for
BASIC, Turbo Pascal, C, R:BASE,
COBOL, Fortran, dBASE, Lotus 1-2-3...
Introductory price. Only $75.
(Until 3/31/86)
The most powerful program developer for
dBASE II and dBASE III ever developed.
DRAW any screen design with our advanced
screen editor. Use Flash Code and see
how incredibly easy screen design can
be.
GENERATE complete programs automati¬
cally. Based on your screen designs,
Flash Code can write your whole
dBASE program.
FLASH-UP WINDOWS™. Menus and Help
Windows add a new dimension to your
dBASE programs. Create them instantly
with our window editor. Use the
FlashUp™ module to have windows
pop-up throughout your dBASE applica¬
tions.
For dBASE II and dBASE III. $150.
“...a truly remarkable product. Brand-new,
state-of-the-art and actually fun to use. The
windows make it an even more amazing
product.”
Cary N. Prague, Author
“Beyond programming with dBASE III”
“Destined to replace QUICKCODE™”
MicroNewsA/lews, Nov. 85
You can create screens in minutes...then
Screen Sculptor writes the program.
Move pieces of the screen around, select
colors from a menu, draw boxes and lines,
paint, repeat last character in any direction.
And more!
Specify variable names, data types,
acceptable data ranges, pictures for edit
checking, etc.
Screen Sculptor then generates an actual
program source code based on your screen
design. Use it as is or modify it.
For BASIC, Turbo Pascal, IBM/Microsoft
Pascal. $125.
“...so well done that you may not need to
refer to the manual. ”
“...an exceptional product that fills a real
need in the development of new programs. ”
Computer Language
CIRCLE NO. 192 ON READER SERVICE CARD
No Risk Demo Offer!
Here’s a no-risk offer. Order now and
you’ll also get a full demo disk. Use the
demo and the manual for 30 days. If you
don’t love it, return the package for a full
refund.
Credit card orders call 24 hrs/day
1(800) 824-7888, operator 268.
All other orders and inquiries call or write
Software Bottling Co., 6600 L.I. Expwy,
Maspeth, NY 11378. 718-458-3700.
THE
SOFTWARE
BBTTLinG
company
OF NEW YORK
Requires an IBM PC, XT, PC AT or true compatible, 256K
Only the HayesTranset 1000 @
can get you out of this one.
ptspEmuy
f/E£P MMKtVA/G
PLM1 10 AMI
'Pjfc/Wlr 'pMlt'
otCt ✓
/Ocuwi
- FhcM^Ls,
Now your PC can do three
things at once instead of making
you wait while it does one thing
at once.
We call it tripjetaskmg- 0
It means you can work with
your PC while the Transet 1000
receives your electronic mail
and runs your printer for you
simultaneously.
Three jobs at once. No waiting.
When you're away from your
desk, or at night while your PC
is turned off, Transet 1000 serves
as an electronic mailbox.
Because it has its own indepen¬
dent 128K or 512K memory.
To get the messages that come
in through the night, you can
call them up on your PC. Access
them through a remote modem
if you're away from the office.
Or even have them waiting for
you in hard copy.
By now it's dawning on you
Hayes
Say yes to the future with Hayes.
* Manufacturer's estimated retail price.
CIRCLE NO. 155 ON READER SERVICE CARD
©1986 Hayes Microcomputer Products. Inc.
that Transet 1000 can make your
PC about three times as produc¬
tive as it is now. Which is no
small statement.
You've also figured out it's
more than just a print buffer.
More than just a communica¬
tions buffer. And probably costs
a lot. Right?
Wrong!
It costs only $399* for the
128K model which stores up to
90 pages. And only $549* for the
512K version with up to 360
pages of storage.
For more information and
specifications, contact your
authorized Hayes dealer. Or
Hayes directly at (404) 441-1617.
Hayes Microcomputer Prod¬
ucts, Inc., P.O. Box 105203,
Atlanta, Georgia 30348.
LETTERS
is deceived. In this case, the damage al¬
ready has been done, as the software
press resounds with acclaims for the
product Windows pretends to be.
Dan Magorian
Leesburg, VA
I strongly disagree with Mr. Magorian s
statement that the Windows software is
not what it pretends to be.
The article states that Windows can
concurrently execute either WinAp ap¬
plications or old applications that are
“well-behaved, ” the major criteria for
which is direct video I/O. Programs that
do all video I/O through MS-DOS func¬
tion calls, for example, can be executed
concurrently (assuming no other char¬
acteristics render them ill-behaved).
My opinion that Windows is the
“best package reviewed ” stands. In ad¬
dition to doing the best job with con¬
currency, Windows provides manage¬
ment of expanded memory for applica¬
tions being written to the Lotus/Intel/
Microsoft specification. Microsoft’s in¬
volvement in the future of MS-DOS will
ensure that WinAp remains compatible
with future operating systems.
Windows also provides a graphics
user interface that is superior to the
command-line interface typified by MS-
DOS. The power of Windows will enable
users to have full cut-and-paste capabil¬
ity across all future applications; in ad¬
dition, the use of graphics standards
available through Windows will enable
a broader set of printers, plotters, and
displays to be supported in the future.
—Don Await
About two years before anyone had
heard of Windows, I wrote an interac¬
tive, text-based BIOS- and DOS-com¬
pliant game for the PC in the DOS 1.0
environment. The .EXE for that file is
unchanged after four years. With the
proper settings in its .PIF file, Windows
runs it in a window and concurrently.
So, Mr. Awalt’s statements are correct.
However, applications written with¬
out knowledge of Windows will run
concurrently only when their window is
visible on the screen: they will not run
as icons (that is, in the background).
This subtlety unfortunately was missed
by Mr. Await, our technical staff, and
our outside consultants.
We regret the omission and apolo¬
gize for any inconvenience it caused.
—WF
REALTIME REVELRY
I would like to thank Richard M. Foard
for his excellent review of the CX/PC
Block
software
theft...
with
THE BLOCK
Patented protection for your profits
Software-based security systems can be cracked too easily.
But now there’s THE BLOCK,® an inexpensive device you
supply with your software and without which it will not
function.
Users simply plug THE BLOCK into an external port of
their PC, where it is totally transparent. However,
commands you program into your software check for the
presence of the device before allowing your program to run.
What’s more, THE BLOCK has the added protection of a
U.S. Government patent to prevent mass distribution of
illegal “work-alikes.”
THE BLOCK also lowers the price of security. Prices
range from $39 for single units to $24 for quantities over
1 , 000 .
Call for your demonstration unit today.
So give your product investment the unmatched protection
of THE BLOCK. Send today for complete information and a
demonstration unit—or to get it even faster, phone us at
(203)329-8870.
And block those hackers from hacking holes in your
software profit plans.
Software
security me.
Software Security, Inc., 870 High Ridge Rd., Stamford, CT 06905.
CIRCLE NO. 173 ON READER SERVICE CARD
MAY 1986
21
LETTERS
The Answer
to your
Debugging
Problems
ICD286
At last! An 80286 emulator which is
affordable, compact, and easy to use.
FAST—Full speed, real-time emula¬
tion up to 10 Mhz.
AFFORDABLE—From $2400 to
$5400, depending on options.
EASY TO USE—On-line HELP with
a screen oriented display.
KEY FEATURES:
• Hardware and software break¬
points
• 2048 bus cycles of real-time trace
• 64K of emulation memory
• Symbol and line number support
• Source-level debugging
• Real and virtual (protected) mode
support
• On-line symbolic assembly and
disassembly
• Macros with parameters
• Installs in an IBM-PC/XT/AT*
or compatible
IDEAL for development, debugging,
testing, and field service.
For further information, please con¬
tact:
Awauiefi Sojjfwa'ie
Corporation
20863 Stevens Creek Boulevard
Cupertino, CA 95014
(408) 253-7515
♦IBM-PC/XT/AT are registered trademarks of Interna¬
tional Business Machines Corporation.
sub
mov
mov
ax,ax
cx,max_tasks
bx,offset task_tbl
task_tblt0..max_tasks -
11 = 0;
mov
mov
bx, offset dgroup:task_tbl
ax, 1
task_tbl[0] = 1;
mov
sub
tbxl,ax
ax, ax
task_tbl[1..max_tasks ■
• 11 = 0;
add
bx,2
mov
cx,max_tasks - 1
Realtime Executive as part of the “Multi¬
tasking Methods” article (March 1986,
p.57). He had a firm grasp of the cen¬
tral concepts, and he presented them
clearly. As one of the main objectives of
CX/PC is to teach realtime programming
techniques, it was gratifying to see that
the ideas could be transferred.
It is always a thrill to see software
“come to life” in a realtime environ¬
ment, similar to hearing a complex mu¬
sical selection being played well.
I continue to make improvements
to the Executive. In version 2.0, the files
and documentation have been reorga¬
nized to make the material easier to
understand and use. In addition, I am
preparing a 68000 version.
Unfortunately, the INTR-Soft tele¬
phone number was given incorrectly.
The correct number is 617/369-6242.
Walter S. Heath
INTR-Soft Company
Bedford\ MA
Thank you for the correction. We are
sorry for any inconvenience it caused.
We also would like to note corrections
to the TJ/OS listing that appeared with
this article. First, all occurrences of the
expression offset task_tbl should be
changed to offset dgroup:task_tbl. Sec¬
ond, the subroutine _init__os is incor¬
rect. The zero entry of taskjtbl must be
initialized to a nonzero value for the
procedure to work. The correction is
shown in the figure above: the top set of
lines is replaced by the bottom set. The
corrected TJOS.ASM file also is available
on PCTECHline.
—CH
C MISINTERPRETATION
In this issue, your round-up review of C
interpreters (“The State of C Interpret¬
ers,” Marty Franz, p. 153) includes the
interpreter that is part of our training
system, Introducing C. This interpreter
is an integral part of our training pack¬
age, and was developed solely as an aid
in the C learning process. To review it
separately from the programs tutorial is
taking it out of context.
The Introducing C interpreter was
never, and never will be, designed as a
professional program development tool.
Rather, its sole purpose is to help
people learn how to write good C, and
write it correctly.
Because of this case of “mistaken
identity,” we request that, in a future
issue of PC Tech Journal , you review
Introducing C for what it is, an interac¬
tive C language training system, which
includes a training manual, interpreter,
and a specialized C function library tai¬
lored toward training.
George Eberhardt
President
Computer Innovations, Inc.
A PHONE CALL AWAY
Regrettably, our address and telephone
number have been given incorrectly
twice in your magazine: in our ad in
the February 1986 issue (p. 195) and in
your review of our product in the
March 1986 issue (see “In the ISPF
Tradition,” Rudy S. Spraycar, p. 113).
We are Heuristic Computer Systems,
Inc., 853 Hickory Drive, Carmel, IN
46032-2307, 317/848-8981.
The HCS/Editor version used in the
review will be one year old when this
letter is published. The current HCS/
Editor is not just the editor; it is now
the same type of ISPF implementation
as the other three products in the re¬
view. It is more like ISPF and includes a
few more extentions to ISPF, such as
macro support. We were hoping to be
able to announce these items when
poeple called in and sent in informa¬
tion requests. With the wrong phone
number twice in a row and now the
wrong address, you may have dealt us a
severe blow—not deadly, just painful.
Please exercise more care in the future.
Robert A Fowler
President
Heuristic Computer Systems, Inc.
We sincerely regret these errors. We also
must report that in connection with the
same article, the correct telephone num¬
ber for Arrix Logic Systems, Inc. is 416/
292-6425; the company’s toll-free num¬
ber is 800/268-3599.
—WF
[rnr»i
CIRCLE NO. 214 ON READER SERVICE CARD
PC TECH JOURNAL
WINDOWS FOR DATA™
' MENUS WINDOWS DATA ENTRY X
PROFESSIONAL DEVELOPERS, here is
the front end package you’ve been waiting
for, the ONE that does the hard jobs that
others can’t — we guarantee it. Makes
standard display and entry tasks easy.
Reliable. Compact. Portable.
MENUS: Build multi-level menus in the
format of your choosing: Lotus 1-2-3,
Macintosh, or any style you might select.
Items can call sub-menus, data-entry
windows, or action functions. The menu
system is completely flexible.
WINDOWS: WFD is built upon and in¬
cludes Windows for C, the windowing
system rated #1 in PC Tech Journal
(William Hunt, July 1985). WFC now has
more features than ever: unlimited windows
and files, pop-ups, fast screen changes, win¬
dow names, horizontal and vertical scrol¬
ling, logical video attributes, highlighting,
support for the EGA, off-screen updating,
formatted output, word-wrap and auto
scroll, print windows, read and write func¬
tions, and keyboard input with subroutine
execution during waits.
DATA ENTRY: The most complete and
flexible data entry system on the market.
Pop-up data-entry windows, field types for
all C data types, plus special decimal, date,
and time fields, full-featured field editing,
auto conversion to and from strings for all
field types, input masks or “pictures,” pro¬
tected text, system and user-supplied
validation functions, range-checking,
scrollable context-sensitive help, required
and must-fill fields, passwords, programmer
definable keys, field types, and mask func¬
tions, date and time utilities, and string
utilities. Read field by field or auto-read all
fields. Branch and nest window forms.
FLEXIBLE
As many possibilities as Vermont in June.
WINDOWS FOR DATA HAS
UNPRECEDENTED FLEXIBILITY.
Virtually every capability and feature of
WFD can be modified to meet special
needs. All key-invoked data-entry functions
can be assigned to keys of your choosing;
and you can add your own functions to the
key assignment table. This same flexibility
exists for the input masks used to control
data entry. Install your own validation func¬
tions. You can even define new field types
and add them to the system. You do not
need source code to take advantage of the
flexibility of WFD, but full source is
available.
MICROSOFT WINDOWS
COMPATIBILITY
is automatic. Windows for Data
detects the presence of MS Windows
(and IBM’s TopView) and follows
the rules required for full compatibility.
No need for special code, complex inter¬
faces, or expensive toolkits.
EASE OF USE
Ease of use comes first and foremost from
basic design and implementation. WFD is
not just a library of functions, but an in¬
tegrated system for menus, windows, and
data entry.
We make the system easy to learn by
explaining each major application in step-
by-step detail. WFD is documented for the
professional. Six hundred pages of
documentation in a full-size, high-quality
binder. Numerous tutorials and demonstra¬
tion programs are provided. Nearly two
hundred functions are documented indi¬
vidually, to UNIX standards.
RELIABLE
For its basic input and output, WFD uses
the library of Windows for C, a mature
product that has earned a reputation for ex¬
treme reliability. WFD has been through its
“shakedown” and the few bugs that turned
up have been corrected. We promise to
quickly respond to any further bug problems
you may encounter.
THE MEMORY FILE FACILITY
of windows for C is more flexible and
memory efficient than the “virtual screen”
systems of other windowing packages.
Memory usage adjusts to the amount of text
in files. No waste space! Build files of
any length and width from disk, code, or
communications input. Retrieve,, replace,
add, and scroll file lines. Open windows at
any point in a memory file. .Scroll windows
horizontally or vertically.
UNIX, DOS, OR BOTH
WFC and WFD provide source code com¬
patibility between PCDOS and UNIX. Pro¬
grams written for one operating system will
compile and run on the other with only
minor changes.
UNIX developers, now you can put advanc¬
ed windows, menus, and data entry features
common to the PC world in your UNIX
programs.
PRAISE FROM USERS
“WFD is the best programming tool Yve ever used.
It's the most flexible I’ve seen. Whenever Yve
wanted to do something, Yve been able to find a
wap. ”
Steven Weiss, Stratford Systems (18 prs; 1 pr)*
“WFC is the standard bp which we judge all other
C utilities. The most helpful tool we’ve ever
acquired. Absolutelp easp to use. Very tight code. ”
James Baker, Mathew Bender (7 prs; 4 prs)*
“Especiallp compared to Panel, I love Win¬
dows for Data. Your documentation is great. ”
Don Heinmeller, Law Software (10 prs; 4 mo) *
“The documentation lets you get up and running
fast. I integrated help routines into existing educa¬
tional programs in a dap and a half. ”
Richard Rovinelli, Educational Services
(17 prs; 1 pr)
* (programming experience; C experience)
If you are tired of screen utilities that are
hard to use and limited in capability, you
owe it to yourself and your programs to try
WINDOWS FOR DATA.
OUR CHALLENGE AND
GUARANTEE
If you have an application where no
other tool can do the job, try Windows
for Data. If it doesn’t help you solve
your problem, RETURN FOR A FULL
REFUND. YOU MUST BE SATISFIED
WINDOWS WINDOWS
FOR DATA FOR C
PC DOS* $295 $195
XENIX-286 $595 $395
UNIX CALL CALL
* For all popular C compilers;
No royalties for DOS
U _ . 21 Elm Ave.
Vermont Richford, vt 05476
Creative 802 - 848 - 7738 ,
Software ext. 21
MasterCard & Visa Accepted. Shipping $3.50
VT residents add 4% tax.
Trademarks: Panel, Roundhill Computer Systems; Microsoft,
(registered) Microsoft Corp., TopView, IBM.
CIRCLE NO. 115 ON READER SERVICE CARD
If you want
to run software
with graphics on your
monochrome
monitor, we have
some bad news.
A
s we’re sure you’ve been
told, the only way
to run software with
graphics on a monochrome
monitor is to buy a graphics card.
For $499, the Hercules Graph¬
ics Card runs these best-selling
programs:
Ashton-Tat e. Framework
BPS, Overhead Express
Lotus Development, 1-2-3, Symphony
MicroSoft, MicroSoft Flight Simulator, Micro-
Soft Word, MicroSoft Chart
Software Products Int., Open Access
Software Publishing, PFS: Graph
Sorcim, Supercalc 3
In monochrome only.
And some good news.
F or $395, the Paradise
Modular Graphics Card
runs all these programs.
In monochrome. And in color.
Arrays/Continental Software, Ultra File
Ashton-Tate, Framework
BPS, Overhead Express
Brightbill-Robert, Graphix Partner
Chang Labs, GraphPlan
Dow Jones & Co., Dow Jones Market
Analysis
Lotus Development, 1-2-3, Symphony
MicroPro, Chartstar, Planstar
MDBS, Knowledge Manager
MicroSoft, Basic Compiler, Basic Inter¬
preter, Chart, Flight Simulator, Project, Word
PC Software of San Diego, Executive
Picture Show
Prentice-Hall, Execu vision
Schuchardt Software Systems, Intecalc,
Intemate, Intepert, Inteplan, Inteword
Softrend, Aura
Software Products Int., Open Access
Software Publishing, PFS.’Graph
Sorcim, SuperCalc 3
Summa Software, Winning On Wall Street:
Traders Forecast, Winning On Wall Street:
Trader's Data Manager
Advanced Ideas, The Game Show, Master
Match, Tic Tac Show
CBS Software, Big Bird's Special Delivery, Dino¬
saur Dig, Ernies Magic Shapes
Davidson & Associates, Math Blaster!, Word
Attack!
Designware, The Grammar Examiner, Math
Maze, Language Arts, Spellicopter, States &
Traits, Trap-a-zoid
Developmental Learning Materials, Alien Addi¬
tion, Alligator Mix, Demolition, Division, Dragon
Mix, Meteor Multiplication, Minus Mission
Eduware, Algebra 1, Algebra 2, Algebra 3,
Algebra 4, Algebra 5
Individual Software, Professor Pixel, The
Instructor, The Typing Instructor
Knoware, Knoware
Scarborough Systems, Mastertype, Songwriter
Learning Co., Addition Magician, Magic Spells,
Moptown Parade, Number Stomper, Reader
Rabbit
Scholastic, Turtle Tracks
Sierra On-Line, Dragons Keep, Troll's Take
Simon & Schuster, Typing Tutor III
Spinnaker Software, Alphabet Zoo, Delta
Drawing, Fraction Fever, Hey Diddle Diddle,
Kids on Keys, Kindercomp, Rhymes & Riddles,
Story Machine
The Paradise Modular Graphics
Card runs all the popular programs
Hercules does, plus 150 more.
Broderbund Software, Serpentine
CBS Software, Match-Wits, Mystery Master:
Murder by the Dozen
Hayden Software, Sargon III
Innovative Design Software, Pool 1.5
Intelligent Statements, Asylum
Microlab, Crisis Mountain, Death in the Carib¬
bean, Dino Eggs, High Rise, Miner 2049er
Muse Software, Castle Wolfestein
Odesta, Backgammon, Checkers, Chess, Odin
Origin Systems, Ultima III
Orion Software, J-Bird
PC Software of San Diego, Championship
Blackjack
Penguin Software, The Quest
Priority Software, Forbidden Quest
Scarborough Systems, Buck Rogers, Congo
Bongo, Star Trek
Sentinent Software, Cyborg
Sierra On-Line, BC's Quest of Tires, Champion¬
ship Boxing, CrossFire, Dark Crystal, Frogger,
King's Quest, Oil Well, Ultima II, Ulysses and
the Golden Fleece
Sir Tech, Wizardry
Sirius Software, Buzzard Bait
Spectrum Holobyte, Gato
Spinnaker Software, Snooper Troops #1,
Snooper #2
Sublogic, "Night Mission"Pinball
Springboard, Early Games for Young Chil¬
dren, Make a Match, Piece of Cake Match,
Quizagon
Thoroughbred Software, Exploring the
Amazing Food Factory, The Fascinating
Story of Cell Growth, How Plants Grow,
Migrating Molecules, Mastering Units of
Measurement, Photosynthesis
Unicom Software, Funbunch, Ships Ahoy,
Ten Little Robots
Digital Research, DR Logo
Energtonics, Energraphics
Fox & Geller, dGraph, OZ
Graphic Communication, Graphwriter
BASIC, Graphwriter Combination, Graphwriter
Extension
Harvard Associates, PC. Logo
Innovative Software, Fast Graphs
Mouse Systems, PC Paint
PC Software of San Diego, PC Crayon
Peachtree Software, Business Graphics System
Arktronics Jane
Eagle Software Publishing, Personal Financier
Monogram, Dollars and Sense
Penguin Software, Graphics Magician
Sierra On-Line, Home word
Adventure Enterprises, Sea Dragon
Atarisoft, Centipede, Defender, Dig Dug,
Donkey Kong, Pac Man, Robotron, Stargate
Avalon Hill Game Company , Andromeda
Conquest, Computer Football Strategy, Com¬
puter Stocks & Bonds, V.C., Voyager
Paradise Systems Inc., 217 East Grand Ave., South San Francisco, CA 94080
(800) 822-2020 Ext. 251 (CA) or (800) 527-7977 Ext. (outside CA)
I
t’s true, Hercules only runs 10 of the
161 programs with graphics for
the IBM PC carried by SOFTSEL®,
the largest distributor of micro com¬
puter products.
Since the Paradise Modular Graphics
card is 100% compatible with the
IBM color graphics standard, it’ll run
virtually every program written for
the PC. In monochrome. And in color.
Now and in the future.
And we give you a $50 trade-in
allowance on your old Hercules or
IBM card.
So see your dealer or call us. And
get some good news for a change.
PARADISE
SYSTEMS, INC
CIRCLE NO. 230 ON READER SERVICE CARD
helps save time, money and cut frustrations. Compare, evaluate, and find products
RECENT DISCOVERY
dBASE Tools for C- incorporate C
functions as extensions to dBASE III
Plus. Also functions for business
graphics, arrays, math, statistics.
MS C, Lattice, Aztec. PC Graphics $ 79
Tools $ 79
Al-Expert System Dev’t
Arity System - incorporate w/C. PC $295
ExpcrtEASE - Develop by describing
examples of how you decide. MS Call
EXSYS - All RAM, Probability.
Why. Trees. Solid, files, popular PC $359
1st class - by example, interfaces $250
Insight 1 - Probabilities, required
thresholds, menus, fast ($79).
Insight 2 adds backward, forward,
partitions,dB2, lang., access. MS $399
Others: APES ($359), Advisor ($949),
ES Construction ($ 100), ESP ($845),
Expcrtcach ($399), Expert Choice ($449)
AI-LISP
GC LISP Interpreter - “Common", rich.
Interactive Tutorial $ 495 Call
GC LISP 286 Developer-2 to 15 meg
RAM, compiler & Interp. $1195 Call
Microsoft MuLisp 85 $ 250 $199
TLC LISP - “LISP-Machine" - like,
all RAM, classes, compiler. MS $225
TransLISP - Good for learning MS $ 75
WALTZLISP - “FRANZ LISP" -
like, big nums, debug, CPM-80 MS $149
Others: IQ LISP ($155), BYSO ($125),
AI-PROLOG
ARITY Standard-full, 4 Meg
Interpreter - debug, C, ASM PC $ 350
COM PI LER/1nterpreter- EXE PC $ 795
With Exp Sys, Screen - KIT PC $1250
MicroProlog - enhanced MS $ 229
MProlog - Improved, Faster PC $ 475
Professional MicroProlog MS $ 359
Prolog-86 - Learn Fast MS $ 95
Others: Prolog-I ($365), Prolog-2 ($1795)
Free Literature
Compare Products
Evaluate products. Compare competitors. Learn
about new alternatives . One free call brings infor¬
mation on just about any programming need. Ask
for any “ Packet ” or Addon Packet □ AI □ ADA,
Modula □ BASIC □“C” □ COBOL □ Editors
□ FORTH □ FORTRAN □ PASCAL □ UNIX/PC
or□ Debuggers, Linkers.
Our Services:
• Programmer’s Referral List • Dealers Inquire
• Compare Products • Newsletter
• Help find a Publisher * Rush Order
• Evaluation Literature FREE • Over 700 products
• BULLETIN BOARD - 7 PM to7 AM 617-826-4086
C Language-Compilers
BDS C - solid value, fast CPM80
C86 by Cl - 8087, reliable MS
Consulair Mac C w/toolkit MAC
ECP C/88 MS
Lattice C - from Lifeboat MS
Lattice C - from Lattice MS
Mark Williams - w/debugger MS
Megamax - tight full ATARI/ST
Microsoft C 3.0 - new MS
Q/C 88 by Code Works - Compiler
source, decent code, cross/native MS
Wizard C - Lattice C compatible,
full sys. Ill, lint, fast. MS
$125
$299
$299
$ 60
$289
$339
$399
$179
$259
$125
$379
C Language-Interpreters
C-terp by Gimpel - full K & R,
.OBJ and ASM, large progs. MS $249
H.E.L.P. - innovate env. MS $ 90
INSTANT C - Source debug,
Edit to Run-3 seconds MS $399
Interactive C by IMPACC Associates.
Interpreter, editor, source, debug. PC $225
Introducing C-learn C
fast, self paced tutorial PC $109
Professional Run/C - Run/C plus
create add-in libraries,
load/unload them. MS $199
Run/C - improved MS $109
C Support-Systems
Basic C Library by C Source $139
C Debug - Source debuggers - by
Complete Soft ($269), MSD ($149).
C Sharp - well supported. Source,
realtime, tasks $600
C ToolSet - DIFF, xref, source $135
Lattice Text Utilities $105
The HAMMER by OES Systems $179
SECURITYLIB - add encrypt to MSC.
C86 programs. Source $250 PC $125
C Libraries-General
Application Programming
Toolkit MS $375
Blaise C Tools 1 ($109), C Tools 2 $ 89
C Food by Lattice-ask for source MS $ 119
C Power Windows by Entelekon $119
C Utilities by Essential - Comprehensive
screen graphics, strings. Source. PC $139
Entelekon C Function Library PC $119
Entelekon Superfonts for C PC $ 45
Greenleaf Functions - portable, ASM $ 139
Polytron - for Lattice, ASM source $ 85
Software Horizons - Pack I PC $129
C Libraries-Communications
Asynch by Blaise $149
Greenleaf - full, fast $139
Software Horizons - pack 3 $119
CLibraries-Files
FILES: C Index by Trio - full B +
Tree, vary length field, multi compiler
/File is object only
$ 89
/Pro is partial source
$179
/Plus is full source
$349
CTree by Faircom
$339
dbVISTA - full indexing, plus optional
record types, pointers, Network.
Object only - MS C, LAT, C86 $179
Source - Single user MS $459
Source - Multiuser MS $929
FEATURE
High Performance Object-Oriented Programming:
METHODS Smalltalk
METHODS is a powerful, language-compatible subset of Smalltalk-80that is ideal
for software prototyping, simulation, databases, advanced user interfaces, and numer¬
ous AI applications. Over 100 classes and 2000 methods — easily-customized software
building-blocks for rapid, incremental development of real-world applications.
An open-ended window environment that encourages exploration while allowing re¬
covery from any error. Extensively documented in a four-part manual that addresses
the needs of everyone from beginners to experienced programmers.
Methods also offers a communications interface that includes remote UNIX ,M access,
an object-oriented shell for DOS programs, and much more.
AND NOW...
GRAPH IC METHODS — all of the above, converted to bit-mapped graphics,
plus.. .
- Logo-style graphics using class “Pen"
- Multiple fonts
- Form editor, for freehand drawing with the mouse
- Bit editor, for the creation or modification of icons, fonts, and other graphic elements
- A new debugger with the ability to inspect and change variables and resume
execution
- Supports CGA. EGA. Hercules, and AT&T Hi-Res graphic controllers. Available
after June 1st.
METHODS PCDOS $239
GRAPHIC METHODS PCDOS $665
FEATURE
ASSEMBLER Programmers:
Be an Expert and Take Out the Pain with
ADVANCED TRACE-86,
the First Assembler Interpreter/Debugger
A complete, interactive, visual Assembler Interpreter/Compiler is integrated with a
powerful debugger and editor to create, debug, rewrite, and test code. Increase under¬
standing while you watch on your screen all aspects of the main processor (8088, 8086,
80286) and floating point processor (8087, 80287).
Instructions from a full screen of disassembled code can be single-stepped or run at
other speeds while you watch registers, flags, the stack, and memory. Set or suspend
breakpoints by: address range, label, or conditions. Toggle to the user screen to see
the effects.
Add or delete program statements or directly change memory and registers to recarve
your program while debugging — don’t lose your ideas by waiting to assemble.
Gone too far? You can even back up your program!
On-line help and demos help you learn quickly.
Directly access DOS functions or the 8087/287’s math functions and quickly see
exactly what results are produced.
If you spend even a few hours with assembler code, whether your own or from a com¬
piler, you deserve to get frustrations out of your way with Advanced Trace-86.
PCDOS $149
We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga.
CIRCLE NO. 162 ON READER SERVICE CARD
provides complete information, advice, guarantees and every product for Microcomputer Programming.
FEATURE
Panel Screen Generator - Create screen
w/editor, generates code. Data
validation, windows, no royalties.
Specify Lat., MSC, C86, MS Fortran
or Pascal MS $239
Editors for Programming
BRIEF Programmer’s Editor -
undo, windows, reconfigure PC Call
C Screen with source 80/86 $ 75
EM ACS by UniPrcss - powerful,
multifile, MLISP. Source: $949 $299
Entry Systems for C PC $325
Epsilon - like EM ACS PC $169
FirsTimc by Spruce - Improve
productivity. Syntax directed for
Turbo ($69), Pascal ($229), orC ($239)
Kedit - like XEDIT PC $115
Lattice Screen Editor-multi window,
multitasking Amiga $100 MS $125
PMATE - power, multitask 80/86 $159
VEDIT - well liked, macros,
buffers, CPM-80-86. MS PC $119
XTC - multitasking PC $ 85
ATARIST& AMIGA
We carry full.linesof Manx, Lattice,
Metacompco and Prospero.
Note: All prices subject to change without notice.
Mention this ad. Some prices are specials. Ask about
COD and POs. All formats available.
National Accounts Center
Special service is provided by a separate team for
organizations with over 500employees.
Purchasing agents, evaluators, managers, and
programmers all appreciate the extra information,
attention to shipping and invoicing, and help finding
and evaluating products. Call 800-446-1185.
Our Services:
• Programmer’s Referral List • Dealers Inquire
• Compare Products • Newsletter
• Help find a Publisher • Rush Order
• Evaluation Literature FREE • Over 700 products
• BULLETIN BOARD - 7 PM to 7 AM 617-826-4086
MultiLanguage Support
BTRIEVE ISAM MS $199
CODESIFTER - Execution PRO¬
FILER. Spot bottlenecks.
Symbolic, automatic. MS $109
MultiH ALO Graphics- Multiple video
boards, printer, rich. Animation,
engineering, business.
Any MS language, Lattice, C86 PC $249
PLINK 86 - a program-independent
overlay linker to 32 levels for all MS
languages. C86 and Lattice. MS $299
Pfinish Performance Analyzer
by Phoenix MS $299
Profiler by DWB Associates MS $ 99
PS MAKE by UniPress PC $129
Screen Sculptor-slick, thorough,
fast, BASIC, PASCAL. PC $109
ZAP Communications - VT 100,
TEK 4010emulation, full xfer. PC $ 85
RECENT DISCOVERIES
Dan Bricklin’s Demo Program - PC $ 75
dBrief, the dBASE Assistant -
optional syntax directed editing,
screen gen, graphics, speed coding.
dBASE II, III, Clipper. PC $ 95
Fortran & Supporting
Forlib + by Alpha - graph, comm. $ 59
Fortran >> C-FORTRIX C creates
maintainable translations. $995
M ACFortran by Microsoft - full ’77 $229
MS Fortran $219
No Limit - Fortran Scientific $129
PolyFortran - xref, pp, screen $149
Prospero - ’66, reentrant $390
RM Fortran - enhanced “IBM Ftn” $399
Scientific Subroutines - Matrix $149
Statistician by Alpha $269
Strings and Things - registers, shell $ 59
DEBUGGERS
Advanced Trace-86 by Morgan
Modify code on fly. PC $149
CSPRITE - data structures PC $149
Periscope I - own 16K PC $269
Periscope II - symbolic. “Reset
Box.” 2 Screen PC $119
Software Source by Atron -
Lattice, MS C, Pascal, Windows
single step, 2 screen, log file. MS $115
w/Breakswitch $199
FEATURE
FEATURE
Expert System Development:
Practical, Complete, and Unlimited Features
Help Smoothly Build Expert Systems with EXSYS
KXSYS, Inc. has built a stable and complete toolkit by listening to users and examining
what they need. One of the first Expert System Shells for the PC, EXSYS provides
the features of just about all of its combined competitors, plus the documentation and
examples you will need to learn in this field.
UNLIMITED FEATURES? EXSYS supports backward chaining of 1F/THEN/ELSE
rules, full math support, probabilities, explanations, the ability to call external pro¬
grams including spreadsheets, database managers, or custom-written front ends with
data passed to and from the external program, plus the ability to handle substantial ap¬
plications of up to 5,000 rules. All user input is either English text, menu selection,
or algebraic expression.
The systems developed can explain why information is needed and how it will be
used. The ability to “change and rerun" allows expert system modelling of problems.
Written entirely in C, EXSYS provides very high speed execution and efficient mem¬
ory utilization.
But if these features are not enough, use the interface to Lotus, dBASE, BASIC, C,
or any other .EXE or .COM file. Already in use at over 1,000 sites with many complex
and powerful expert systems developed. Several expert systems have been marketed
with a low-cost runtime license. Single computer use is only $349. Unlimited runtime
distribution is available for an additional $539.
PCDOS $349
Prove Concepts,
Tighten Designs, or
Quickly Create Demos with
DAN BRICKLIN’S DEMO
PROGRAM
Focus exclusively on what the user sees and
does — with complete, flexible tools for
fast and tangible results.
Show simulations of keyboard input and
screen content by using Dan’s editor and
screen building tools. “Snapshot" screens
created by other programs, use a prior
screen to create a new one. Draw boxes, cut
and paste any screen subset, control attri¬
butes like inverse video and color. Use the
graphics characters available in the text
mode.
Cause screens to branch in any sequence
using labels. Give the demo user control.
Print-control helps put your slide show to
paper or disk in a variety of formats.
PCDOS $75
PROGRAMMING TEAMS:
Manage and Control Source
Versions Efficiently with
POLYTRON Version Control
System (PVCS)
Duplicated efforts and time wasted rebuild¬
ing and cataloging source can be avoided.
Reliably delegate control for source AND
documentation to PVCS.
Save confusion and disk space by letting
PVCS maintain the complete current ver¬
sion plus all of the increments, decrements,
and related notes needed to rebuild any ver¬
sion. Maintains a complete history of
changes. No experience with such a system
is assumed. The documentation and exam¬
ples will help you learn quickly. Privilege
levels control access so the administrator
knows who is working on each module.
Now used in PC software development en¬
vironments at Hewlett-Packard. Sperry, 3-
COM, ROLM, and many more. Ask about
discounts for LAN and multi-keyboard
access.
PCDOS $369
Call for a catalog, literature, advice and service you can trust
800 - 421-8006
NEW HOURS
8:30 AM - 8:00 PM EST.
THE PROGRAMMER’S SHOP™
128-P Rockland Street, Hanover, MA 02339
Mass: 800-442-8070 or 617-826-7531 386
"It's not often that I receive service from a
company that I consider exceptional but
you’ve managed to do it ... I am impressed
that you place the needs of your customers
above making a "quick" profit and I hope
to have the opportunity to do business with
you again in the future . . ."
Samual Solon
White Pine Software. Inc.
CIRCLE NO. 151 ON READER SERVICE CARD
MICROSOFT LANGUAGES NEWSLETTER Vol. 1, No. 5
News about the Microsoft Language Family
Microsoft® XENIX® Languages Offer Source Compatibility with MS-DOS®
Applications developed for MS-DOS using Microsoft high-level languages can easily be transported
to XENIX.The XENIX versions of BASIC, C, COBOL, FORTRAN, Macro Assembler, and Pascal
offered by Microsoft are source-language compatible with the MS-DOS versions.
The object files produced by C, FORTRAN, and Pascal can be used in either operating system
environment, except for FORTRAN object files that access arrays greater than 64K in length.This
makes it easier to move operating-system-independent subroutine libraries between systems.
Using MAKE to Replace Batch Files for Program Development
The MAKE utility provided with Microsoft Macro Assembler Version 4.0 can be used to replace
batch files for building application programs. When using standard batch files to build an appli¬
cation every step has to be performed. However, with MAKE the time and date dependency rules
allow recompiling, reassembling, or relinking only those files that are dependent upon recently
changed files.
The MAKE utility also has rules and macros. These features provide an easy and reliable way to
change how application programs are built. For instance, by defining a rule for how C files are com¬
piled into object modules, every C compilation can be done with the same compiler options. When
rules are combined with macros, new compilation options can be provided on the MAKE command
line or in the MAKE file. If you regularly develop large programs and are not using a MAKE type
of utility, you should investigate how it can help make your software development more efficient.
Cullinet’s Micro/Mainframe Software Developed with Microsoft Macro Assembler
Cullinets INFOGATE" and GOLDENGATE software supports over a dozen ways of connecting
PCs to mainframes running Cullinets Information Center Management System.“The only way we
could create this transparent link was with Microsoft Macro Assembler,” said Mary Kroening,
Director of Micro Software Development.
“Microsoft Macro Assemblers unique type checking and data structure features make it easy to
connect routines with the rest of INFOGATE or GOLDENGATE. The Macro Assembler is an
especially versatile product for writing device-level code to support LAN cards, 3278 emulation cards,
SDLC interfaces, async ports, and more. The increased speed and reliability in Microsoft Macro
Assembler 4-0 not only makes our job easier, but also cuts the build time in half”
For more information on the products and features
discussed in the Newsletter,
write to: Microsoft Languages Newsletter
16011NE 36th Way, Box 97017, Redmond, WA 98073-9717.
Or phone:
(800) 426-9400. In Washington State and Alaska,
caH (206) 882-8088. In Canada, call (416) 673-7638.
Microsoft, MS-DOS and XENIX are registered trademarks of Microsoft Corporation. INFOGATE and GOLDENGATE are
registered trademarks of Cullinet, Inc.
Latest DOS Versions:
Microsoft C Compiler
3.00
Microsoft COBOL
2.10
Microsoft FORTRAN
3.31
Microsoft Macro Assembler
4.00
Microsoft Pascal
3.31
Microsoft QuickBASIC
1.02
Look for the Microsoft Languages Newsletter every month in this publication.
F or all the talk of the “paperless
office,” paper is still very much with
us. The desktop computer has whetted
the corporate appetite for information,
and, in the absence of a mature national
data network or even an accepted
network standard , paper is the only
universal channel for moving informa¬
tion from one set of hands to another.
Even given the most optimistic esti¬
mates for network penetration over the
next ten years, some people always will
be beyond the network’s reach. As a
result, what needs to be done when
building networks is to include in the
topology an interface to paper—to
make, in other words, better paper.
Two primary difficulties of reading
data encoded on paper must be
addressed. First, paper is an uneven
medium, the quality of which is prone
to disintegrate as the result of ink drop¬
out, smudging, dirt, and folding. In ad¬
dition, any paper reader must tolerate
inevitable sloppiness as the result of
human handling. In its solution to these
problems, Cauzin Systems has produced
a data encoding/paper reading system
that could add paper to the list of avail¬
able channels in the corporate data
network. PC Tech Journal has chosen
the Cauzin Softstrip System as Product
of the Month for May 1986.
A Softstrip is a variable-length pat¬
tern the width of a stick of gum that is
marked with a small dot and line for
reader alignment. The strip can contain
many files, and a single logical strip can
extend over any number of physical
strips. A single printed 8^-by-l 1-inch
page can store about 30KB of data at
maximum density. In use, the reader is
placed over the strip so that the align¬
ment dot appears in the alignment hole,
and the alignment line appears at the
edge of the reader body. A scanning
carriage within the reader traverses the
strip and reads information under the
control of a resident DOS utility, at a
typical speed of 30 seconds per 3,500-
byte, 9-inch physical strip. The reader
automatically adapts its serial port baud
rate to that of the host computer port to
which it is attached.
The strips are extremely tolerant of
discoloration—by coffee stains, skin
oils, even ink—and the reader can be
positioned as much as one-eighth-inch
skewed to the strip itself before reading
fails. The reader uses a near-infrared
light source that “sees” carbon-based
inks and ignores pigments not based on
carbon black. A hardware parity system
within the reader allows the reader to
detect and correct up to two damaged
PRODUCT
The Softstrip System
COMPANY
Cauzin Systems
ADDRESS
835 S. Main Street
Waterbury, CT 06706
TELEPHONE
203/573-0150
PRICE
$199.95
bits per data strip line. The strip as a
whole is checksummed for errors not
detected on a line-by-line basis.
Softstrips can be printed at differ¬
ent densities. The reader detects strip
density on the fly and can read any
legal strip without adjustment. Strips
can be reproduced via high-quality
xerography; the typical two- to four-
percent enlargement on office copiers
is not a problem. A program, which is
sold separately for $19.95, creates low-
density strips on an Epson graphics
printer. Technology to produce higher
density strips on laser printers and off¬
set presses is patented and will be
licensed to interested concerns.
Remarkably, two-color printing
with a red logo over the black strip is
used as a speed-bump form of copy
protection against copiers. Most xero¬
graphic processes see red as black and
will print the logo as obliterating noise.
The reader ignores the original’s red
ink and sees only the black strip.
Cauzin Systems has been printing
strip-encoded software in its magazine
advertisements to drum up interest in
the Softstrip System. Several upcoming
computer books also will include exam¬
ple programs in strip form. The prob¬
lem of the chicken versus the egg is se¬
vere; until a critical mass of readers is
sold, the business computing commun¬
ity is unlikely to adopt the system.
It should be adopted, however.
Paper enjoys a rare privilege of privacy
when passing over national boundaries
in first-class mail. Softstrips in first class
correspondence are difficult to detect
and can be encrypted to protect against
interception. Within the United States,
the mails are legally protected in ways
that electronic communications are not.
In addition, the product’s immunity to
magnetic fields and folding is further
recommendation that mail or courier
distribution of Softstrip data should be
used between central and field offices.
Cash register tapes with Softstrips
on the back, along with strips encoded
on utility bills as well as checking and
charge account statements, could make
computerized family budgeting possible
and provide the first genuine justifica¬
tion for a home computer. The reader
does not have to be a separate periph¬
eral; the technology could be built into
point-of-sale terminals for easy process¬
ing of returns and warranty service.
Whether Cauzin succeeds in getting
industry to adopt its keyless data entry
standard is an open question, but the
company has done its homework. The
Softstrip System was designed for paper
and understands paper’s limitations. It
is the best reason yet to add paper in a
reasonable way to the growing network
of data communications. I 1111 —!
MAY 1986
29
TECH RELEASES
Hardware , software , other developments
for the IBM PC family
HARDWARE
FastPak, introduced by AST Research,
Inc., is an Intel 8086-based turbo card
for the PC or PC/XT designed to acceler¬
ate the operation of applications, includ¬
ing those involving expanded-memory-
specification software. FastPak includes
an 8KB two-set cache that creates two
buffers to hold portions of currently
active applications programs. FastPak
speeds operation by reducing the need
for the 8086 to read program code or
data from the PC system memory. Once
active, the cache system checks to see if
the required block of code is held in
one of the buffers. If found, the code is
executed; if not, a new block is moved
from system memory into a buffer. In¬
stallation involves inserting the card into
an expansion slot, removing the 8088
from the motherboard and inserting it
into the FastPak card, and plugging a ca¬
ble from the FastPak into the original
8088 socket. Users move from turbo to
8088 mode with a switch on the FastPak
board. Under $500.
AST Research, Inc., 2121 Alton Avenue,
Irvine, CA 92714; 714/863-1333
CIRCLE 304 ON READER SERVICE CARD
The SMF/AT210-4M, a multifunction
module designed to upgrade the PC/AT
to a multiuser system, is now compat¬
ible with XENIX and UNIX systems, in
addition to DOS. This module, from
Sigma Information Systems, provides
from 256KB to 4MB of memory and
supports two to seven serial line devices
(including the console terminal) and a
parallel printer. The SMF/AT210-4M
plugs into one PC expansion slot and
operates at speeds of up to 9600 baud.
With 256KB of memory, 2 serial ports,
and 1 parallel port, $464.
Sigma Information Systems, 3401 E.
La Palma Avenue, Anaheim, CA 92806;
714/630-6553
CIRCLE 322 ON READER SERVICE CARD
Quadram Corporation has announced
the Quad3270 Gateway XLU, a
combined hardware and software prod¬
uct that supports communication be¬
tween LAN-based PCs and mainframe
hosts. The XLU supports PC to SNA
mainframe communication by enabling
the PC to emulate IBM 3278 model 2
and 3279 two- and four-color terminals.
As many as 64 host mainframe sessions
can be conducted concurrently. The
product also provides a modem pool
function, permitting multiple PCs to
share its available asynchronous mod-
Quad3270 Gateway XLU by> Quadram
ems for PC-to-asynchronous host com¬
munication. Its hot-key feature allows
users to toggle between SNA and asyn¬
chronous host sessions and normal op¬
eration. The XLU can accommodate up
to three different types of LANs concur¬
rently and provides for LAN-to-LAN com¬
munications. 8 LUs, $6,818; 16 LUs,
$7,485; 32 LUs, $8,182; 64 LUs, $9,485.
Asher Technologies, Inc. (Quadram s
communications products division),
1009 Mansell Road, Roswell, GA 30076;
404/993-4590
CIRCLE 306 ON READER SERVICE CARD
grapevine is a cost-effective LAN
designed to interconnect terminal de¬
vices and computer resources within a
building or site. Introduced by CASE
Communications, Inc., the system
uses data-voice multiplexing techniques
so that data traffic shares the existing
telephone wiring without interfering
with or interrupting normal speech
GRAPEVINE by CASE Communications
usage. An optional central data ex¬
change can provide access to multiple
computer resources or gateways to wide
area networks, private or public, and
specialized host computer environ¬
ments, such as IBM. At the terminal lo¬
cation, a small access unit is plugged
into the telephone jack; both the termi¬
nal and the telephone handset plug into
this unit. Data rates up to 19.2 kilobits
per second, asynchronous or synchro¬
nous, are possible on the standard inter¬
nal telephone wiring. $233.
CASE Communications, Inc., 2120
Industrial Parkway, Silver Spring, MD
20904; 301/381-2300
CIRCLE 316 ON READER SERVICE CARD
A low-cost LAN that provides basic net¬
working services among interconnected
microcomputer workstations has been
introduced by Xerox Corporation.
The network, called Xerox Communi¬
cations 24 (XC 24), combines a 10
megabit-per-second network with a low
installation cost and an intuitive user
interface. The network connects 30 Xe¬
rox 6060 family workstations or DOS
3.1-based PCs over a 600-foot cable seg¬
ment and 900 devices with additional
cabling and repeaters. XC 24 offers sev¬
eral options for sharing hard disks, files,
and printers among networked work¬
stations. $720 per connection.
Xerox Corporation, Xerox Square 006,
Rochester, NY 14644; 716/423-5078
CIRCLE 313 ON READER SERVICE CARD
A hardware/software data acquisition
system has been introduced by Cyborg
Corporation. Designed for research
and development, product testing, and
process monitoring, the Isaac 5000 hard¬
ware addresses the need for flexibility,
ease of use, and future upgrades. The
system incorporates eight slots for any
of Cyborg’s I-series of interface cards.
Isaac 5000 features Discovery, a menu-
driven applications tool with graphic
displays of data for acquisition and
30
PC TECH JOURNAL
analysis. Discovery generally eliminates
the need for programming; where pro¬
gramming is necessary, the LabSoft
programmer’s toolkit is available for
BASIC, C, and FORTRAN. The high¬
speed option can be added to the base
unit as applications requirements
increase. The high speed module can
handle from 1 channel to more than
1,000 and from 1 sample an hour to
200,000 samples per second. Four chan¬
nels of high-performance A/D are stan¬
dard with this option; additional chan¬
nels and buffer memory can be added.
The module provides for IEEE-488 com¬
munication to the PC host, isaac 5000 ,
$1,800; isaac/IBM interface card, $350;
Discovery, $1,190; LabSoft, $500; high
speed option, $4,850; modular expan¬
sion boards, $500 to $2,450.
Cyborg Corporation, 55 Chapel Street,
Newton, MA 02158; 800/343-4494; in
Massachusetts, 617/964-9020
CIRCLE 305 ON READER SERVICE CARD
Intel Corporation has introduced a
hardware card and software develop¬
ment package that halves evaluation
time for Intel’s 4MB magnetic bubble
memory components. The PC-Bubble
Card includes either 512KB or 1MB of
bubble memory in addition to the
4-SITE software, an interactive program
that enables designers to learn quickly
how to program the 7225 bubble mem¬
ory controller. Two .versions of the PC-
Bubble Card are available. The PCB-75-1
has a single 7114 4MB bubble memory
component; the PCB-75-2 has two
bubble memory components. The two-
bubble version is for users designing
systems that incorporate two or more
4MB components with a single control¬
ler. The 7225 will support up to eight
7114 components, providing a total of
4MB of reliable, nonvolatile storage.
PCB-75-1, $495; PCB-75-2, $795.
Intel Corporation, 3065 Bowers Avenue,
Santa Clara, CA 95051; 800/548-4725
CIRCLE 310 ON READER SERVICE CARD
An advanced image processor that can
achieve minicomputer throughput
speeds on the IBM PC/AT has been
announced by Data Translation, Inc.
The DT2851 High Resolution Frame
Grabber digitizes, stores, processes in
realtime, and displays video images in
monochrome or RGB false color at a
rate of 30 image frames per second.
System performance can be maximized
with the addition of the DT2858 Auxil¬
iary Frame Processor, a 16-bit pipe¬
lined processor that connects directly to
the frame grabber over special I/O ports
DT2851 High Resolution Frame Grabber
and speeds the completion of lengthy
image processing calculations. The
DT-IRIS Image Processing Software
implements image processing algo¬
rithms on the DT2851 and the DT2858
to help increase process execution
speed on the AT. DT-IRIS is composed
of two sections: IRIStutor, a tutorial pro¬
gram, and IRISsub, a library of image
processing subroutines. DT2851, $2,995;
DT2858, $1,495; DT-IRIS, $995.
Data Translation, Inc., 100 Locke Drive,
Marlboro, MA 01752; 617/481-3700
CIRCLE 301 ON READER SERVICE CARD
A hardware/software package that
enables a PC/XT or PC/AT to monitor
and analyze the activity of any LAN that
adheres to the IEEE 802.3 standard has
been introduced by Excelan Inc. The
LANalyzer EX 5000E permits network
systems developers to debug LAN appli¬
cations and protocols. Its open architec¬
ture permits OEMs and large end users
to develop test routines for specific LAN
requirements. The LANalyzer permits
the capture and analysis of data accord¬
ing to predefined criteria independent
of protocols such as TCP/IP, DECNet,
XNS, or ISO. Realtime test results are
displayed in bar graphs and saved to a
DOS file. $9,500.
Excelan Inc., 2180 Fortune Drive,
San Jose, CA 95131; 408/434-2226
CIRCLE 309 ON READER SERVICE CARD
PC Technologies, Inc. has announced
the release of its 286 Express acceler¬
ator card for the PC and PC/XT. This
half-slot card is powered by Intel’s
80286 8-MHz microprocessor; it re¬
quires no new or bundled memory and
needs no special operating software. A
unique 8KB cache memory provides
zero wait access to the most recently
used code and data. That same feature
allows a stock PC to accelerate 700 per¬
cent; if the cache is disabled, accelera¬
tion still is at least 200 percent. $795.
PC Technologies, Inc., 704 Airport Blvd.,
Ann Arbor, MI 48104; 800/821-3086;
313/996-9690
CIRCLE 318 ON READER SERVICE CARD
A new product that provides hardware-
assisted debugging has been announced
by Microtech International. The
hardware, called bug zapper, consists of
an expansion board that features a ZAP
circuit and a HALT button. The ZAP cir¬
cuit traps bugs as they overwrite critical
memory locations. The HALT button
enables users to interrupt programs at
the touch of a button. The package’s
guardian software loads into memory at
boot time, but remains dormant until
activated via the HALT or ZAP button. In
addition to the normal debug com¬
mands, guardian provides a facility for
arming the ZAP circuit. $195.
Microtech International, 9906 Norwood
Court, Dept. Z-2, Largo, MD 20772;
301 / 350-1068
CIRCLE 317 ON READER SERVICE CARD
MAY 1986
31
TECH RELEASES
RYBS Electronics’ HiCard
ll SPEED
MicroSpeed’s Fast88
HiCard, a short-slot, ^MB RAM card that
addresses up to 896KB of memory, has
been introduced by RYBS Electronics,
Inc. Through an arrangement with
Sophco, Inc., this product comes pack¬
aged with HiPage utility software,
which takes full advantage of the ex¬
panded memory by accessing 740KB of
DOS memory plus an additional 192KB
of electronic disk and spooler space.
With 256KB, $159; with 512KB, $199.
RYBS Electronics; Inc., 2510 N. 47th
Street, Suite HH, Boulder, CO 80301;
303/444-6073
CIRCLE 308 ON READER SERVICE CARD
Telenetics Corporation has added a
9600-bps modem to its ExpressData
line. The ExpressData 96 is available in
both external and internal versions.
Basic features include auto answer, auto
Telenetics' ExpressData 96 internal modem
dial, call monitoring, Hayes command
set compatibility, phone number stor¬
age, remote diagnostics, voice-to-data
transmission switching, automatic adap¬
tive equalization, bisynchronous error
control, and V.29 compatibility. $1,595.
Telenetics Corporation, 895 E. Yorba
Linda Blvd., Placentia, CA 92670;
714/524-5770
CIRCLE 321 ON READER SERVICE CARD
Tallgrass Technologies Corporation
has announced a new line of internal
tape and disk/tape subsystems. The
TG-1020i is an internally mounted, half¬
height, 5 v 4-inch tape drive that backs up
20MB of data on a DC-2000 tape car¬
tridge. The TG-2025i is an internally
mounted, full-height, 5 v 4-inch 25MB
hard disk with a 20MB tape drive that
backs up data on a DC-2000 tape car¬
tridge. The TG-l425i is an internal,
3^-inch 25MB hard disk with a half¬
height, 5 v 4-inch tape drive that stores
20MB of data on a DC-2000 tape car¬
tridge. The new internal drives include
two software programs: xtree, a menu-
driven file and directory management
software program, and BackTrack, a soft-
ware-based automated hard disk backup
system. TG-1020i, $995; TG-2025i,
$1,995; TG-I425i, $2,095.
Tallgrass Technologies Corporation,
11100 W. 82nd Street, Overland Park,
KS 66214; 913/492-6002
CIRCLE 320 ON READER SERVICE CARD
A speed enhancement product for the
PC, PC/XT, and compatibles that offers
an increase in performance of up to 60
percent with 100 percent software and
hardware compatibility has been an¬
nounced by MicroSpeed Inc. The
Fast88 replaces the standard 8088 CPU
with a higher speed 8088-2 (or optional
NEC V20 enhanced CPU) and allows the
user to switch between the normal 4.77-
MHz system clock and a selectable fre¬
quency clock generator of 6.1 MHz, 6.7
MHz, or 7.4 MHz. These frequencies in-
prove performance by 30, 45, and 60
percent, respectively. It works with
many popular software products.
$149.95; with the NEC V20, $189-95.
MicroSpeed Inc., 5307 Randall Place,
Fremont, CA 94538; 415/490-1403
CIRCLE 303 ON READER SERVICE CARD
Techland Systems Inc. and Missing
Link Computer Technology, Inc.
have announced the first PC-to-main-
frame link that allows PC users to enter
and retrieve information by voice using
a telephone located anywhere in the
world. A combination of Missing Link’s
“talk to me” system and Techland’s
BlueLynx 5251/model 11 allows com¬
plete voice I/O and telephone manage¬
ment between the PC line and System/
34. Software provided allows “talk to
me” to be linked to any host computer.
This gives the system access to any exist¬
ing database and, thus, the ability to run
all existing software by voice and
through a telephone. Package, $4,795.
Techland Systems Inc., 25 Waterside
Plaza, New York, NY 10010;
212/684-7788
CIRCLE 314 ON READER SERVICE CARD
Missing Link Computer Technology>, Inc.,
34-20 45th Street, Long Island City, NY
11101; 718/937-9334
CIRCLE 315 ON READER SERVICE CARD
A plug-in card that runs software up to
six times faster than normal with no
modification to the software has been
announced by Mountain Computer,
Inc. The RaceCard-286 fits into the
short slot in any computer; it is compat-
RaceCard-286 by Mountain Computer
ible with almost all AT software, RAM,
and peripheral cards, because it emu¬
lates the IBM 8088 native processor.
This half card, which measures 5 inches
by 3.9 inches, uses only seven watts of
power from the computer’s power sup¬
ply. Among network packages, it sup¬
ports the 3COM EtherSeries, Novell, Or¬
chid PCNet, and starlan. Some commu¬
nications software (such as Crosstalk
and TelPak) and several word process¬
ing packages also can benefit. $795.
Mountain Computer, Inc., 360 El
Pueblo Road, Scotts Valley, CA 95066;
800/458-0300; in California,
800/821-6066
CIRCLE 319 ON READER SERVICE CARD
32
PC TECH JOURNAL
Make Any Computer Do Exactly What You Want With McGraw-Hill’s
Contemporary
Programming &
Software Design
Series
My Family
Financial Planner
Budget Plan
Household
Inventory
Declining Interest
Loan
From Writing Your Own Programs to
Modifying Existing Software, Here’s the New,
Easy, and Low Cost Way to Unlock the Secrets
of Your Computer
Whether you use computers for business, for personal
applications, or for fun, off-the-shelf programs
will never do everything you want them to do
for you. That’s because they were written by
programmers to satisfy what they perceived as
the needs of the greatest number of potential
users—often missing some or many of
your specific needs .
That’s why McGraw-Hill’s new Contemporary
Programming and Software Design Series
teaches you how to create your own software . .. either from
scratch or by making key modifications to existing programs.
There is nothing magical about it. You learn the process of
building a computer program step-by-step with McGraw-Hill
Concept Modules sent to you one at a time, once a month.
Each of the ten modules in the Series takes you through an
important step in the development of the structure and
detailed logic of a program, including testing, debugging, and documentation.
Unique Interactive Hands-On Instruction
Each module includes an easy-to-understand guide PLUS a 5 l A" floppy disk
containing typical programs and interactive instruction that you can run on any
IBM or IBM-compatible computer for hands-on experience.
In the first Module, for example, when your
sample program (Declining Interest Loans)
appears on your screen, you’ll find errors on
certain program lines. You’ll also see that the
program is only three-quarters completed.
Now comes the fun part. You’ll discover how
this program *is built, and in the process you’ll
learn how to identify and correct errors. And
by the end of Module 1, you’ll actually have
completed this program yourself.
But there’s more. Special graphics on your screen work in conjunction with
the accompanying guide to amplify, illustrate, and deepen your understanding of
software design principles.
Learn the Foundation of All Computer Languages
Although the Series teaches you programming procedures, it is not aimed at
any one language or machine. Why? Because 95% of the pro¬
gramming process is carried out using design techniques that
are independent of a specific language or machine. Nevertheless,
we include enough training in BASIC and machine language to
get you started. You’ll find that the whole process of learning new
languages will be greatly accelerated once you complete the Series.
Create a Complete, Customized
Family Financial Package As You Learn
The sample programs you work with throughout the
Series are excellent learning tools. But they’re more
than that. By combining the sample programs onto one
master disk, you’ll create your own family financial
package that will help you balance your budget, figure
loan amortization, and much more. And — of course —
you’ll be able to further modify your financial
package to fit your own specific needs!
15-Day No-Risk TYial
To order your first module without risk, send
the postage-paid card today. Examine the first
module for 15 days and see how the Series will
help you
make any
computer do
exactly what
you want it
to do!
If someone has beaten you to the card, write to us
for ordering information about the Contemporary
Programming and Software Design Series.
McGraw-Hill
Continuing Education Center
3939 Wisconsin Avenue
Washington, DC 20016
IBM is a registered trademark of International Business Machines. Inc.
Borland Turbo Prolog screen A new Pascal implementation by Softivare Channels
Pacific Micro Systems has announced
the Pelican 3.3, a mass storage system
that incorporates the Kodak 3.3MB half¬
height drive into an aluminum housing.
The system includes a half-slot control¬
ler card and cache software to decrease
data access time. The Kodak drive can
access data in half the time of conven¬
tional 5 v 4-inch floppy disks. In addition,
when presenting data, the Pelican soft¬
ware can achieve RAM disk speeds by
utilizing part of the PC main memory as
a cache data buffer to speed up pro-
By Pacific Micro Systems
grams that repeatedly reference the
same data. The Pelican permits floppy-
disk users to put multidisk programs on
one diskette and to expand storage in
2.78MB segments, as needed. $793.
Pacific Micro Systems, 160 Gate 5 Road,
Sausalito, CA 94965; 415/331-2525
CIRCLE 312 ON READER SERVICE CARD
Designed to fit in a single expansion
slot of the PC or PC/XT, OnBoard is a
high quality hard-drive system available
in 10MB and 20MB versions. Introduced
by Maynard Electronics, the board
can control two hard drives. Thus, when
OnBoard is placed in an XT as the
system’s second drive, it controls both
drives, eliminating the need for the ori¬
ginal controller board. 10MB version,
$975; 20MB version, $1,195.
Maynard Electronics, 460 E. Semoran
Blvd., Casselberry, FL 32707;
305/331-6402
CIRCLE 311 ON READER SERVICE CARD
SOFTWARE
The oracle relational database manage¬
ment system (DBMS) has been chosen
by IBM for licensing on the RT/PC.
Under the terms of the agreement be¬
tween Oracle Corporation and IBM
Corporation, IBM will market for the
RT/PC a version of oracle as well as sev¬
eral fourth-generation tools which also
are developed by Oracle. The oracle
DBMS will be called SQL/RT by IBM.
Included in the SQL/RT package are the
SQL-compatible relational DBMS and a
novice user’s interface called Easy
SQL/RT. This interface employs a point-
and-select, menu-based interface and
can create tables and generate reports.
The SQL/RT package also includes an in¬
teractive command interface, an SQL
precompiler for programs written in C,
and an on-line data loader for the
DBMS. SQL/RT, $1,000.
Oracle Corporation, 20 Davis Drive,
Belmont, CA 94002; 800/345-DBMS; in
California, 415/598-8000
CIRCLE 329 ON READER SERVICE CARD
IBM Corporation, contact the local
IBM dealer; 800/426-2468
CIRCLE 330 ON READER SERVICE CARD
A Pascal programming environment in¬
troduced by Software Channels, Inc.,
Alice is based on a syntax-directed edi¬
tor that understands the rules and struc¬
tures of programming languages, alice
provides a menu of templates from
which the programmer can choose to
build and edit programs; he simply fills
in the blanks, alice contains a complete
Pascal interpreter that includes program
debugging tools. Users can watch pro¬
gram output and execution on the same
screen. An extensive help facility of
more than 500 screens is included. $95.
Software Channels, Inc., Four Kingwood
Place, Kingwood, TX 77339;
713/359-1024
CIRCLE 339 ON READER SERVICE CARD
Borland International, Inc. has an¬
nounced its fifth-generation language
development system, Turbo Prolog.
Turbo Prolog’s incremental compiler
generates native code, linkable object
modules, and a linking format compat¬
ible with the DOS linker; it supports a
flexible, object-oriented system. The in¬
teractive full-screen editor automatically
positions the cursor at the source code
point of an error. Programs can call the
editor, and view and modify the pro¬
gram’s source code at runtime, provid¬
ing truly interactive development. Wind¬
owing support for text and graphics
allows the programmer to move back
and forth through windows for the edi¬
tor, the trace facility, the source code
listing, and sample query. $99.95.
Borland International, 4585 Scotts
Valley Drive, Scotts Valley, CA 95066;
408 / 438-8400
CIRCLE 341 ON READER SERVICE CARD
An Ada compiler for the PC family has
been introduced by Artek Corpora¬
tion. Artek Ada meets all defense speci¬
fications for Ada, with the exception of
tasking, and runs under DOS on com¬
puters with at least 384KB of memory.
The compiler features generic sub¬
programs, array and record aggregates,
operator overloading, and dynamic
arrays and exceptions. It requires only a
single pass over the source code to pro¬
duce executable pseudocode. The user
can invoke a second pass of the compil¬
er to translate this pseudocode into ma¬
chine language for the 8086. Artek Ada
also provides functions traditionally as¬
signed to library managers and linkers.
The Artek system includes a compiler, a
full-screen editor, an interpreter/
debugger, a linker/library manager,
and a pseudocode disassembler. $895;
demo disk, $29.95.
Artek Corporation, 100 Seaview Drive,
Secaucus, NJ 07094; 800/PC-ARTEK; in
New Jersey, 201/867-2900
CIRCLE 335 ON READER SERVICE CARD
36
PC TECH JOURNAL
Turbo Pascal and the Turbo Pascal
family give you a perfectly integrated
programming environment and
unbeatable speed, power, and price
Turbo Pascal® is faster than
any other Pascal compiler,
and at only $69.95, a distinctly
better deal. But it offers much
more than speed, power,
and price.
There’s also the complete
Pascal family of products that’s
grown from 1 to 9 products in
just 3 years.
Turbo Pascal is backed by a
complete range of “toolboxes” that
give you most of the programming
tools you’ll ever need
The Turbo Pascal family is
never static, but is continuously
expanding, with new products
like Turbo Editor Toolbox™ and
Turbo Gameworks.™
The secret of software success is
not merely low price, but top quality,
allied with complete documentation,
like our 400-page reference manual.
All of which are some of the
reasons why Turbo Pascal is clearly
the leader, and the recipient of
awards like PC Week’s “Product of
the Year” and PC Magazine’s
“Award for Technical Excellence.”
And some of the reasons why Turbo
Pascal has now become a de facto
worldwide standard with more than
half a million users.
Turbo Pascal has grown
from a single product 3
years ago to a family
of 9 today.
Success breeds success, so the
Turbo Pascal family has flourished.
Your choices now include.-
□ Turbo Pascal 3.0 combines
the fastest Pascal compiler with
an integrated development
environment.
□ Turbo Pascal with 8087 math
co-processor support for heavy duty
number-crunching, and/or Binary
Turbo Pascal 3.0
Turbo Pascal with the
8087 support
Turbo Pascal with
Binary Coded Decimal,
(BCD)
Turbo Pascal with 8087
and BCD
Turbo Database
Tbolbox™
Turbo Graphix Tbolbox™
Turbo Tutor®
Turbo Editor Tbolbox
Turbo GameWorks
Coded Decimals to
eliminate rounding-off
errors for business
applications.
□ Turbo Database Toolbox is a
perfect complement to Turbo Pascal.
It includes a complete library of
Pascal procedures that allows you to
search and sort data, and build
powerful database applications.
□ Turbo Graphix Tbolbox
a library of graphics routines for
Tbrbo Pascal programs. Lets even
beginning programmers create
high-resolution graphics with an
IBM,® Hercules, T “ or compatible
graphics adapter. Does complex
business graphics, easy windowing,
and stores screen images to
memory.
Amazing value! Turbo
Editor Toolbox includes
MicroStar ™ a full-blown
editor that also does windows!
Turbo Editor Toolbox not only gives you
ready-tocomplle source code and a 200-
page manual that tells you how to lnte-
grate the editor procedures and functions
into your programs, but also Includes
flUW! Turbo GameWorks
gives you the games you
can write , rewrite , bend and
amend! Tlirbo GameWorks reveals
the secrets of game design and the
strategies. You’re given source code, a
200-page manual, and the insight
u Language deal
of the centuiy...
Turbo Pascal
Jeff Duntemann, PC Magazine
Turbo Pascal has got
to be the best value
in languages on the
market today
Jerry Poumelle, BYTE Magazine
This compiler, produced
by Borland International,
is one of the best pro¬
gramming tools presently
available for the PC
Michael Covington, mm
PC Tech Journal
□ Turbo Tutor teaches you
step by step how to use Turbo
Pascal, with commented source code
for all program examples on diskette.
Save $109.70 when you
choose the Turbo Jumbo
Pack. 6 different Turbo
Pascal products for only
$243.00!
For only $245.00, you get Turbo
Pascal 3.0 and Turbo Editor Toolbox
and Turbo Tutor and Turbo Graphix
Toolbox and Turbo GameWorks and
Turbo Database Toolbox!
All 6 for only $245.00, which saves
you $109.70. This limited offer is
good through September 1,1986, so
act now.
MicroStar, a complete editor with M
windowing capabilities. (You could pay
$100.00 or more for a program like
MicroStar, but you get it free as part of
our Turbo Editor Toolbox.) You can aleo
use Turbo Editor (which of course in¬
tegrates with Turbo Lightning™) to
build your own word processor!
needed to write and customize your
own irresistible games.
Thrbo GameWorks also Includes ready-
to-play Chess, Bridge, and Go-Moku-an
ancient Japanese game that can divert
you from reality for hours on end.
BORLAND
INTERNATIONAL
4585 SCOTTS VALLEY DRIVE
SCOTTS VALLEY CA 95066
(408)438-8400 TELEX: 172373
YES!
I want
the best
To order by phone,
or for a dealer nearest you,
call (800) 255-8008
in CA call (800) 742-1133
Copies
Product
Price
_ Turbo Pascal 3.0
_ Turbo Pascal w/8087 "
_ Turbo Pascal w/BCD n
_ Turbo Pascal w/8087, BCD n
— Turbo Database Toolbox
_ Turbo Graphix Toolbox'
_ Turbo Tutor
_ Turbo Editor Toolbox'
_ Turbo GameWorks'
_ Turbo Jumbo Pack *
$69.95 S-
$109.90 J_
S109.90 $-
$124.95 J_
$54.95 $ _
$54.95 $-
$34.95 $..
$69.95 $-
$69.95 $-
*$245.00 $-
Outside USA add $10 per copy
CA and MA res. add sales tax $ _
Amount enclosed $ _
Prices include shipping to all US cities.
Carefully describe your computer system:
Mine is: _ 8-bit _ 16-bit
I use: _ PC-DOS _ MS-DOS _ CPIM-80 _ CPIM-86
My computer's name and model is:
The disk sire I use is: □ 3ft* □ 5’/*' □ 8‘
Payment: VISA MC Bank Draft Check
Credit card expiration date _/_
Cerdll I 1 I I I I 1 I I I
I M I 1 I I I 1 1
NOT COPY PROTECTED
** 60-DAY MONEY-BACK GUARANTEE
Name: _
Shipping Address- _
City: _
Telephone: .
CODs and purchase orders WILL NOT be accepted by Borland.
Outside USA make payment by credit card or International Postal
Money Order.
*Limited Time Oder until September 1,1986.
••YES, it within 60 days ol purchase this product does not
pedorm in accordance with our claims call our customer service
department and we will gladly arrange a refund.
Minimum System Requirements:
Turbo GameWorks, Turbo Graphix Toolbox, A Turbo Editor
Toolbox-192K. All other products 128K.
'IBM PC. PCjr. AT, XT,
and true compatibles.
** 16-bit only.
ft Turbo Graphix Tbolbox; Turbo Tutor; Tbrbo
GameWorks; Tbrbo Editor Tbolbox; Word Wizard; Max, The Analyst; SldeKlck; Sidekick, The Macintosh Office Manager; Traveling SkleKlck;
and SuperKay- all of which are trademarks or registered trademarks of Borland International, Inc. or Borland/Anatytica, Inc.
Tbrbo Pascal and Turbo Tutor are registered trademarks, and Tbrbo OameWorks, Turbo Editor Tbolbox, Turbo Database Tbolbox, Turbo
Graphix Tbolbox, Tbrbo Lightning, and MicroStar are trademarks of Borland International IBM Is a registered trademark of
International Business Machines Oorp. Hercules is a trademark of Hercules Computer Tbch.
Copyright 1000 Borland International BI-1O30C
CIRCLE NO. 251 ON READER SERVICE CARD
UnkelScope screen by Unkel Softivare By Hilgraeve, Inc.
A software package that allows commu¬
nications through modems or cables
with almost any other computer has
been announced by Hilgraeve, Inc.
HyperACCESS gives users access to
information utilities, computerized ser¬
vices, bulletin boards, microcomputers,
or mainframes. It transfers files using
XMODEM, Kermit, or a variety of text-
transfer methods and can emulate such
terminals as the DEC VT-52, VT-100,
TeleVideo 900, IBM 3101, H-19, and
TTY. HyperACCESS enables a computer to
act as an unattended host, so it can be
operated from any remote computer or
terminal. Its powerful script language al¬
lows the user to create custom func¬
tions, prompts, and menus. $149.
Hilgraeve; Inc., P.O. Box 941, Monroe,
MI 48161; 313/243-0576
CIRCLE 324 ON READER SERVICE CARD
DSD86, a new debugging program
from Soft Advances, features a full¬
screen display built on a windowing sys¬
tem that allows the user to arrange and
size displays. The macro facility can ac¬
cept parameters and call other macros
recursively. DSD86 can bind any com¬
mand line to any Ctrl, Alt, or function
key. The debugger offers full support
for symbols from MAP files. $69.93.
Soft Advances, P.O. Box 49473, Austin,
TX 78765; 512/478-4763
CIRCLE 331 ON READER SERVICE CARD
Chalcedony Software, Inc. has an¬
nounced a large memory model Prolog
interpreter called Prolog v-plus. Fea¬
tures include 100 predefined predicates
and operators, double-precision float¬
ing-point arithmetic, arithmetic func¬
tions, access to 640KB of RAM, the abil¬
ity to call other programs from within
Prolog v-plus, and addressable cursor
and graphics functions. $99.95.
Chalcedony Enterprises, 5580 La Jolla
Blvd, Suite 126, La Jolla, CA 92037;
619/483-8513
CIRCLE 328 ON READER SERVICE CARD
The PC Workbench, a CAE software
package that provides a complete set of
analog/circuit design tools on a PC, has
been introduced by Analog Design
Tools, Inc. PC Workbench lets the
designer construct a circuit, attach
simulated test instruments, and see test
results on a screen. Software functions
include a circuit editor, three test set¬
ups, spectral analysis, parameter entry,
parametric plotting, subcircuits, and
statistical analysis. PC Workbench runs
spice plus, an enhanced version of spice 3
software, which features a menu-based
user interface with multiwindowing. The
PC Workbench screen by Analog Design Tools
PC Workbench package includes a
32032 32-bit processor board that runs
under UNIX System V and provides 2MB
of memory for spice plus. The package
also includes a mouse and seven soft¬
ware modules. $12,500.
Analog Design Tools, Inc., 66 Willow
Place, Menlo Park, CA 94025;
415/328-0780
CIRCLE 325 ON READER SERVICE CARD
The Scientific Desk, designed for use
with the PC, is now also available for the
new RT/PC. Produced by C. Abaci, Inc.,
The Scientific Desk is a problem-solving
environment for scientific users. Pro¬
grams, documentation, tutorials, and
examples are integrated in a scope-
oriented, menu-driven form. Functions
and subroutines that cover the areas of
arithmetic, error analysis, mathematical
physics, linear algebra, interpolation,
solution of nonlinear equations, and
optimization are included for program¬
ming. In addition, problem solvers,
which require no programming, are
included. These cover approximation,
eigenstate analysis, zeros of polynom¬
ials, singular value decomposition, and
over-determined system solving. Annual
site license fee, $1,320; purchase fee for
one machine, $660.
C. Abaci, Inc., 208 St. Mary's Street,
Raleigh, NC 27605; 919/832-4847
CIRCLE 323 ON READER SERVICE CARD
An encryption utility called The Private
Line, released by everett enterprises,
is a DOS implementation of the Data
Encryption Standard; it can encrypt any
DOS file. Features include single- or
double-file encryption and decryption;
capabilities for text file print, file dis¬
play, file purge, sorted disk directory
display; and the ability to convert
between binary and ASCII files. In
addition, the user can specify one or
two 64-bit keys. $49.95.
EVERETT ENTERPRISES, P.O. BOX 193, Bath,
NC 27808; 919/923-5621
CIRCLE 327 ON READER SERVICE CARD
A science and engineering laboratory
software tool has been announced by
Unkel Software, Inc. The Unkel¬
Scope is a data acquisition, display, pro¬
cessing, and control package. Level 1
presents a menu-driven interface that
can accept and display data in realtime
and store data for later analysis. Level 2
adds experiment control, process con¬
trollers, digital filtering, FFT-related
functions, calibration, conversion, and
algebraic functions. UnkelScope is com¬
patible with data acquisition boards
from Tecmar, MetraByte, and Data
Translation. Level 1, $325; Level 2, $495.
Unkel Software, Inc., 62 Bridge Street,
Lexington, MA 02173; 617/861-0181
CIRCLE 326 ON READER SERVICE CARD
38
PC TECH JOURNAL
Step-by-step tutorial, demo programs with source code included!
Borland introduces Turbo Prolog,
the natural language of
Ar+.iflmfll TntalH^rv*
Prolog i
l is probably the most
powerful computer programming
language ever conceived, which is
why we’ve made it our second
language—and “turbocharged” it to
create Turbo Prolog.’"
Our new Turbo Prolog brings
supercomputer power to your IBM®
PC and introduces you step-by-step to
the fascinating new world of Artificial
Intelligence. And does all this for an
astounding $99.95.
0 Turbo Prolog is to
Prolog what Turbo
Pascal* is to Pascal!
Our Turbo Pascal astonished
everyone who thought of Pascal
as “Just another language.” We
changed all that—and now Turbo
Pascal is the de facto worldwide
standard, with hundreds of
thousands of enthusiasts
and users in
universities,
research
centers,
schools,
and with pro¬
fessional program¬
mers, students,
and hobbyists.
You can expect at least the
same impact from Turbo Prolog,
because while Turbo Prolog Is the
most revolutionary and natural
programming language, it Is also
a complete development environ¬
ment-just like Turbo Pascal
Turbo Prolog radically alters
and dramatically improves the
brave new world of artificial
intelligence—and invites you into
that fascinating universe for a
humanly intelligent $99.95.
j Even if you've never
* programmed before,
our free tutorial will
get you started right away
You’ll get started right away
because we have included a
complete step-by-step tutorial as
part of the 200-page Turbo Prolog
Reference Manual. Our tutorial
will take you by the hand and
teach you eveiything you’re likely
to need to know about Turbo
Prolog and artificial intelligence.
For example: once you’ve
completed the tutorial, you’ll be
able to design your own expert
systems utilizing Turbo Prolog’s
powerful problem-solving
capabilities.
Think of Turbo Prolog as a
high-speed electronic detective.
First you feed it information and
teach it rules. Then Turbo Prolog
“thinks” the problem through
and comes up with all the
reasonable answers—almost
instantly.
If you think that this is
amazing, you just need to
remember that Turbo Prolog is a
5th-generation language—and
the kind of language that 21st
centuiy computers will use
routinely. In fact, you can
compare Turbo Prolog to
Turbo Pascal the way you
could compare Turbo Pascal to
machine language.
You get the complete
Turbo Prolog
programming system
for only $99.95
You get a complete Turbo
Prolog development system
including:
■ The lightning-fast Turbo Prolog
incremental compiler and the
interactive Turbo Prolog editor.
■ The 200-page reference
manual which includes the step-
by-step Turbo Prolog tutorial.
■ The free GeoBase™ natural
query language database
including commented source
code on disk—ready to compile.
GeoBase is a complete database
designed and developed around
U.S. geography. It includes cities,
mountains, rivers, and highways,
and comes complete with natural
query language. Use GeoBase
immediately “as is,” or modify it
to fit your own interests.
So don’t delay—don’t waste a
second—get Turbo Prolog now.
$99.95 is an amazingly small
price to pay to become an
immediate authority—an instant
expert on artificial intelligence!
The 21st centuiy is only one
phone call away.
BORLAND
INTERNATIONAL
4585 SCOTTS VALLEY DRIVE
SCOUS VALLEY, CA 95066
(408)438-8400 TELEX: 172373
Other Borland Products include TUrbo Pascal; Turbo Tbtor, TUrbo Lightning; TUrbo Database Tbolbox; TUrbo Graphlx Tbolbox;
TUrbo Editor Tbolbox; 1\irbo GameWorks; SuperKe&r; SldeKlck; SldeKlck, The Macintosh Office Manager; Reflex, The Analyst; and
TYavellng SldeKlck—all of which are registered trademarks or trademarks of Borland International, Inc. or Borland/Analytlca, Inc.
Turbo Prolog and GeoBase are trademarks and Turbo Pascal is a registered trademark of Borland International Inc. IBM and AT
are registered trademarks of International Business Machines Corp. Copyright 1996 Borland International BI-1045D
The disk size I use is: □ 3 ft' □ 5W
NOT COPY PROTECTED
*60-DAY MONEY-BACK GUARANTEE
Name: _
Shipping Address: _
City: _
Stale: _
Telephone:.
CODs and purchase orders WILL NOT be accepted by
Borland. Outside USA make payment by credit card or
International Postal Money Order.
*YES, il within 60 days of purchase this product does
not perform in accordance with our claims, please call
our customer service department and we will gladly
arrange a refund.
** Minimum cwe/om rpnniromonle-
Turbo Prolog 1.0
Technical Specifications
Programming System Features
0^ Compiler: Incremental compiler gen¬
erating native ln-llne code and linkable
object modulea The Unking format Is
compatible with the PC-DOS linker. Large
memory model support. Compiles over 2600 j
lines per minute on a standard IBM PC.
Ef Interactive Editor: The system
Includes a powerful interactive M-ecreen
text editor. If the compiler detects An error,
the editor automatically positions the
cursor appropriately in the source code. At
run-time, Turbo Prolog programs can call
the editor, and view the running program’s i
source code.
0f TypeSyst
type system is supported.
Windowing Support: The system
supports both graphic and text windows
Input/Output: Pull I/O facilities,
including formatted I/O, streams, and
random access files.
Numeric Ranges: Integers: -32787 to
32767; Reals: lE-307to 1E+308
0" Debugging: Complete built-in trace de¬
bugging capabilities allowing single
stepping of programs
YES!
Turbo Prolog at only:
$99.”
To order by phone,
or for a dealer nearest you,
Call (800) 255-8008
in CA call (800) 742-1133.
Send me Turbo Prolog al $ _
Outside USA add $10 per copy
CAandMA res. add applicable sales lax $ _
Amount enclosed: $ _
This price includes shipping to all US cities
Payment: VISA MC Bank Draft Check
Credit card expiration date: /
. .
.
You must have an IBM or true compatible running
DOS 2.0 or later.**
My computer's name and model is:
CIRCLE NO. 252 ON READER SERVICE CARD
Aztec C... The Best C
Frees the genius inyou
You’ve got a great idea ...
... you’re ready to write your programs.
You don’t want to be sidetracked by all the paper¬
work. With Manx Aztec C and the ingenious make
function, your creative processes won’t get bogged
down in program administration and housekeeping.
Manx Aztec C has the most sophisticated, hardwork¬
ing program administrator available to you. Once
you’ve described your project, adding new features or
enhancements is simple. You never have to concern
yourself with the repetitive, tedious task of rebuild¬
ing your systems.
The development process moves quickly. Com¬
piles, assemblies, link edits ... all finish in record
time.
Manx Aztec C is the fastest, most efficient C de¬
velopment system in the industry. Benchmarks show
it... reviews commend it... users praise it.
You’re ready to test the program. You’re ahead of
schedule. The Manx Aztec C Source Level Debugger
shows you the exact C language statement giving you
a problem. You fix the problem quickly ... you’re
still ahead of schedule.
“ ... a superb linker, a profiler, an assembler,
and a set of development utilities are only the be¬
ginning of this package ... performed admirably
on the benchmarks, with short compile times and
the best link times in this review ... includes the
most professional make utility ... documentation
is clear and complete. There is no doubt that this
is a valuable and powerful programming en¬
vironment.” Computer Languages Feb. ’86
"... execution times are very good, close to the
best on most tests ...” PC Tech Journal Jan. ’86
“ Easily one of the fastest compilers overall...
library provides a lot of flexibility ... generates
small .EXE files.” Dr. Dobbs Journal Aug. ’85
C’Prime (Compiler, Assembler, Linker) $ 99.
Aztec C 86-d Developer’s System $299.
Aztec C 86-c Commercial System $499.
PC ROM (8086, 68000, 8080, or 6502) $750.
Third Party Software for Aztec C: HALO, PHACT, C-tree,
PRE-C. Windows for C, PC-lint, PANEL, Greenleaf, db Vista,
C-terp, Plink-86, FirsTime, C Util Lib,
and others.
Manx Software Systems
One Industrial Way
Eatontown, NJ 07724
MS is a registered TM of Microsoft. Inc.. CP/M TM DRI. HALO TM Media Cybernetics. PANELTM
Roundhill Computer Systems. Ltd., PHACT TM PHACT Assoc.. PRE-C. Plink-86 TM Phoenix, db
Vista TM Raima Corp., C-terp. PC-lint. TM Gimpel Software. C-tree TM Faircom. Inc., Windows for
C TM Creative Solutions, Apple II. Macintosh TM Apple. Inc.. TRS-80 TM Radio Shack. Amiga TM
Commodore Int'l.
CIRCLE NO. 208 ON READER SERVICE CARD
You’ve got some time for fine tuning.
The Manx Aztec C Profiler examines
your program, tells you where the slow
spots are and validates your test pro¬
cedure. A few changes and it’s exactly
what you wanted.
You’ve made it!
Aztec C is available for MS-DOS/PC
DOS. Call for details on Macintosh,
Amiga, Apple II, CP/M-80,
CP/M-86, TRS-80, ROM and others.
To order, or, for information
Call Today
1 - 800 - 221-0440
In NJ or outside the USA call
(201)542-2121
30-day satisfaction guarantee. Special Discounts
are available to professors, students, independent
developers, and on a “trade-in” basis. Site licenses.
TECH RELEASES
Version 5.1 of Microsoft LISP
Intel's Product Guide collection
Microsoft Corporation has announced
LISP version 5.1. This update of the
muLISP software created by Soft Ware¬
house, Inc. includes a greater number
of primitives, expanded memory capac¬
ity (up to 512KB), support for Common
LISP, expanded arithmetic capabilities,
an improved symbolic debugger, faster
list sorting, and split-screen capabilities.
$250; upgrade for muLISP, $100.
Microsoft Corporation, 10700 Northup
Way, Box 97200, Bellevue, WA 98009;
206/828-8080
CIRCLE 334 ON READER SERVICE CARD
lets c from Mark Williams Company
is a complete implementation of the C
language that includes recent extensions
to C, a standard library, full UNIX com¬
patibility, and English language error
messages, let s c features a MicroEMACS
full-screen editor and source code. $75.
Mark Williams Company, 1430 W.
Wrightwood Avenue, Chicago, IL 60614;
312/472-6659
CIRCLE 336 ON READER SERVICE CARD
The entire Visual Engineering, Inc.
graphics line is being marketed now for
use on the RT/PC. Visual:GKS, based on
the graphics kernel system, is a subrou¬
tine library that allows systems program¬
mers to take advantage of a predefined
set of graphics capabilities. Visual:C-
Chart is a presentation tool for devel¬
oping business and scientific graphics
applications. Visual:ProChart is a pres¬
entation quality charting system for the
nonprogrammer. Visual:GeniSys is a
library of 3-D rendering functions for
applications in scientific and engineer¬
ing analysis and simulation, architectural
design, mechanical engineering, prod¬
uct design, facilities planning, and ani¬
mation. All of these products use
VisualiGraphCap, a knowledge-based
management system that enables the RT/
PC to support these graphics devices
without Software or hardware conver¬
sion. VisuaLGKS, $695; VisuaLC-Chart,
$1,500; VisuaLProChart, $1,750;
Visual:GeniSys, $8,000 to $12,000.
Visual Engineering, Inc., 2680 N. First
Street, Suite 200, San Jose, CA 95134;
408/945-9055
CIRCLE 338 ON READER SERVICE CARD
Arity Corporation has announced five
new artificial intelligence products that
are fully integrated and preinterfaced.
The SQL Development Package is a
complete implementation of the SQL
database language for use with Arity/
Prolog to build intelligent database
applications. The Expert Systems De¬
velopment Package is an advanced
expert system development tool that
supports a frame-based knowledge
representation as well as both rule and
inheritance-oriented reasoning. The
Screen Design Toolkit contains
source and object code to allow the de¬
veloper to design and lay out screens
and procedures for building menus and
windows. The File Interchange Tool¬
kit gives programs written in Arity/Pro-
log the ability to read and write files
written with other software, such as
Lotus 1-2-3 or dBASE m. The Standard
Prolog is a tutorial level Prolog product
with introductory text. SQL Develop¬
ment Package, $295; Expert Systems De¬
velopment Package, $295; Screen Design
Toolkit, $49.95; File Interchange Toolkit,
$49.95; Standard Prolog, $95.
Arity Corporation, 358 Baker Avenue,
Concord, MA 01742; 617/371-1243
CIRCLE 333 ON READER SERVICE CARD
IntelliCorp has announced an agree¬
ment with IBM to port the Knowledge
Engineering Environment (KEE)
system to the IBM RT/PC. KEE enables
users to develop and/or deliver original
artificial intelligence applications,
including expert systems.
IntelliCorp, 1975 El Camino Real W.
Mountain View, CA 94040-2216;
415/965-5500
CIRCLE 337 ON READER SERVICE CARD
StruBAS provides structured program¬
ming facilities, full screen handling,
indexed files, and menus. Introduced by
Laney Systems, Inc., this structured
BASIC development system is designed
to complement the BASIC compiler,
BASICA, and Microsoft Quick BASIC. A
preprocessor translates BASIC to Micro¬
soft BASIC. Full cursor control, editing,
field ordering, color control, and valida¬
tion with rotation through values are
supported. It features a utility that sup¬
ports unlimited menu levels, a file main¬
tenance program generator, develop¬
ment menus, an ISAM rebuild utility, a
source indent utility, subroutines, and a
sample application. $150.
Laney Systems, Inc., 3 Office Park Drive,
Suite 105, Little Rock, AR 72211;
501/225-7755
CIRCLE 332 ON READER SERVICE CARD
OTHERWARE
Intel Corporation has released the
Product Guide, a detailed overview of
all products available from the com¬
pany. This set of handbooks contains
data sheets, applications notes, article
reprints, and other design information
and is intended to keep users up to date
on the Intel product line. The series
consists of ten books that can be pur¬
chased separately or as a complete set.
Set of ten books, $120.
Intel Corporation, 3065 Bowers Avenue,
Santa Clara, CA 95051; 800/548-4725;
408/987-8080
CIRCLE 340 ON READER SERVICE CARD
Erratum: In the hardware section of
the March 1986 Tech Releases, the price
of Emerald Technology Group’s
PC/5251 MATE-48 should be $1,995. i! 111 —I
The material that appears in Tech Releases is
based on vendor-supplied information. These
products have not been reviewed by the PC
Tech Journal editorial staff.
MAY 1986
41
Framework II Hayes
Hewlett-Packard
LaserJet
TnVon Pinrr MiCIOSOft
loken King W ord
3+
Wordstar
2000
Epson
NEC
ATScT AppleTalk
Finally a network th
Thanks to 3+.
The multi-user PC network operating
system that conforms to all the standards. And
plays all the greats.
So you can build a network any way
you want. Because 3+ implements the Microsoft
Redirectoi; PC/MS-DOS 3.1 and more. To
deliver true multi-user file sharing.
In fact, 3+ gives you everything DOS 3.1
does. “Plus” a whole lot more.
Such as internetworking. To link multiple
local area networks over ordinary phone lines.
And remote PC access. So you can use
the network even if you’re working at home or on
the road.
Electronic mail, too. To send information
to any user on any of your networks. Whether
they’re across the building—or the country.
And if you have an IBM mainframe, get
our 3+3270 and you’re into the corporate
databank.
We could go on. But you get the idea.
The 3+ family is the most complete and com¬
patible network operating software you can buy.
3+ support of AppleTalk and Token Ring will be available in mid-1986. WordPerfect is a trademark of SSI Software. Sidekick is a registered trademark of Borland International. Open Systems is a trademark of Open Systems,
Inc., a UCCEL Company. Rellex is a trademark of Borland/Analytica, Inc. Framework II and dBASE III PLUS are trademarks of AshtonTate. Hayes is a registered trademark of Hayes Microcomputer Products. Inc.
Hewlett-Packard is a registered trademark and LaserJet is a trademark of Hewlett Packard Company. IBM is a registered trademark and PC-DOS and AT are trademarks of International Business Machines Corp. Xerox is a
registered trademark of Xerox Corp. ALLOY is a trademark of Alloy Computer Products, Inc. Microsoft and Multiplan are registered trademarks and Microsoft Word and MS-DOS are trademarks of Microsoft Corp.
COMPAQ is a registered trademark and COMPAQ Deskpro is a trademark of COMPAQ Computer Corp. MultiMate is a trademark of MultiMate International. WordStar 2000 is a trademark of Micropro International Corp.
IBM
Ethernet ALLOY
COMPAQ
dBASE III
PLUS
MultiMate
STAELAN Symphony l2^ 193 G
3Server Lotus 123 E
at plays all the greats.
In fact, there’s only one other thing
you’ll want. A way to manage your network com¬
munications, files, printers and backup.
We have that, too. In our 3Server family
of dedicated network servers. Each delivers
maximum network performance for 5 to 50 users.
Or, thanks to 3+ versatility, you can use PC
ATs or compatibles.
Best of all, 3+ is brought to you by
3Com. The most experienced supplier of PC
networking products. With the largest installed
base of PC networks in the world.
So why settle for half a network solution?
Or a proprietary approach that locks you into
a dead end?
See your nearest 3Com dealer instead.
For the name and address of the one nearest you,
call l-800-NET-3Com.
Because in networking, there’s only one
way you can have it all.
3Com
CIRCLE NO. 186 ON READER SERVICE CARD
Epson is a registered trademark of Epson America, Inc. AT&T is a registered trademark and STARLAN is a trademark of AT&T. 123 and Symphony are registered trademarks of Lotus Development Corp. Okidata and
Microline are trademarks of Okidata, an OKI AMERICA Company. NEC is a registered trademark of NEC Corp. AppleTalk is a trademark of Apple Computer, Inc. R:BASE Series is a trademark of Microrim, Inc.
TEAM-UP is a trademark of Unlimited Processing, Inc. Higgins is a trademark of Conetic Systems, Inc.The Bernoulli Box is a registered trademark of IOMEGA Corp. Great Plains is a trademark of Great Plains Software,
Inc. DataFlex is a trademark of Data Access, Inc. Power-base is a trademark of Powerbase Systems. Inc. PROGRESS is a trademark of Data Language Corp. Diablo is a registered trademark of Xerox Corp. 3Com is a
registered trademark and 3+ and 3Server are trademarks of 3Com Corp. EasyPlus and SuperProject are trademarks of Computer Associates, Inc. © 1986 3Com Corporation.
The personal computer
that raised high performance
to new heights.
If you work with high volumes of information,
you need answers fast.
You need a personal computer that’s up
to the task.
Which is why IBM created the Personal
Computer AT® system. It’s changed a lot of
ideas about business computing.
The idea of “fast” has become much
faster. The idea of “data capacity” has
become far greater.
There are new definitions of “power” in a
stand-alone PC. While phrases like “sharing
files” and “multi-user systems” are being
heard more often.
And surprisingly, words like “affordable”
and “state-of-the-art”are being used together.
Clearly, the Personal Computer AT is
different from anything that came before.
And what sets it apart can be neatly summed
up in two words.
Advanced Technology.
If you’ve ever used a personal computer
before, you’ll notice the advances right away.
To begin with, the Personal Computer AT
is extraordinarily fast. That’s something
you’ll appreciate every time you recalculate a
spreadsheet. Or search through a data base.
It can store mountains of information —
literally thousands of pages’ worth—with a
single “hard file” (fixed disk). And now you
can customize your system to store up to
30,000 pages with the addition of a second
hard file.
The Personal Computer AT runs many of
the thousands of programs written for the
IBM PC family. Like IBM’s TopView, the
program that lets you run and “window”
several other programs at once.
Perhaps best of all, it works well with both
the IBM PC and PC/XT. Which is welcome
news if you’ve already made an investment in
computers.
You can connect a Personal Computer AT
to the IBM PC Network, to share files,
printers and other peripherals with other
IBM PCs.
You can also use a Personal Computer AT
as the centerpiece of a three-user system,
with your existing IBM PCs as workstations.
Most important, only the Personal
Computer AT offers these capabilities and
IBM’s commitment to quality, service and
support. (A combination that can’t be
cloned.)
If you’d like to learn more about the IBM
Personal Computer AT, see your Authorized
IBM PC Dealer, IBM Product Center or IBM
marketing representative. For a store near
you, call 1-800-447-4700 (in Alaska, call
1-800-447-0890).
The IBM Personal Computer AT,
for Advanced Technology.
Little Tramp character licensed by Bubbles Inc., s.a.
IBM.Personal Computer AT PC/XT and TopView are trademarks of International Business Machines Corporation.
CIRCLE NO. 248 ON READER SERVICE CARD
©Copyright IBM Corporation 1985
THE PROGRAMMERS SI10U
8 Ways
SORT/MERGE With
RECORD SELECTION &
OUTPUT REFORMATTING
with OPT-TECH SORT
New 3.0 version is even faster and more
powerful. Improve your system’s perfor¬
mance with OPT-TECH SORT. OPT-
TECH includes:
• CALLable and Standalone use
• All major languages
• Variable and fixed length
• Up to 10 sort/select fields
• Autoselect of RAM or disk
• Options: dBASE, BTrieve files
• 1 to 10 files input
• No software max for
# records
• Full memory utilization
• All common field types
• Bypass headers, limit sort
• Inplace sort option
• Output = Record or keys
Try what you’re using on an XT: 1,000
128 byte records, 10 byte key in 33
seconds.
MSDOS $135
Comprehensive Development
Library
C-Worthy by Custom Design
Systems
C-WORTHY LIBRARY eliminates the
writing of routine code and frees you to
work on what makes your programs
unique. 425 pages of documentation with
an in-depth tutorial.
A complete, consistent, and interrelated
set of subsystems and functions facilitates
keyboard handling, background proce¬
dures, list manipulation, screen handling,
menu management, windowing, error
reporting, context-sensitive help, DOS
interfacing, and MORE. Now you can
support incompatible machines (like IBM,
Victor 9000, TI Pro) with the same .EXE
file and alternate languages (French, Ger¬
man, etc.) with the same source code.
A unique design approach with a complete
user interface for application program¬
ming. No royalties. For Lattice C and
others.
MSDOS $295
C Programmers:
to Increase Productivity
C-INDEX B+TREE
LIBRARY
Fast, Easy, Flexible Data
Management
C-Index can enhance your product de¬
velopment by providing powerful, time
tested data management, straight out of
the box.
The C-Index Library delivers high per¬
formance B + tree indexing with efficient
variable length record storage. You get
full transportable source code, pre-com-
piled object libraries, and there are no
royalty charges. Additional features in¬
clude random and sequential data access,
automatic multi-key maintenance, and
virtual memory buffering.
C-Index has been used in many applica¬
tions and environments:
Banking, Medical Research, Al, Ac¬
counting, CD ROM Access, CAD/CAM,
and more . . .
IBM PC/AT, Macintosh, ATT 3B2,
Sun, VAX, Cray, and more . . .
C-Index/PIus with source:
$349
C-Index/File object code only:
$89 (MSDOS, MAC)
First Aid for C Programs
C Toolset
Save time and frustration when analyzing
and manipulating C programs.
DIFF and CMP - for “intelligent” file
comparisons.
XREF - cross references variables by
function and line.
C Flow Chart - shows what functions
call each other.
C Beautifier - make source more
readable.
GREP - search for patterns.
PP - formats your code so that it is
easier to read and understand.
C Util - acts as a general purpose file
filter.
Recently improved performance and en¬
hanced source portability.
Portable. Full source code.
CPM, MSDOS. Mention this
ad. Only $95 until 7/31/86.
SOURCE CODE, NO
ROYALTIES, “FLAT-FILE
ISAM” OR “NETWORK
MODEL DBMS” - RAIMA’S
db_VISTA DATABASE
Use as a simple, flat-file ISAM — or
follow the “network model,” optimized
for speed and efficient disk storage. Re¬
duces overhead associated with relational
models. Multiple key records, fast B-tree
indexing, virtual memory disk accessing,
portability. Tailor db_VISTA to your
needs by using only those features you
require. Save space. Optional dBASE,
R:BASE, and ASCII file transfer utilities
. make moving to db_VISTA a snap.
MSDOS, UNIX, XENIX, Macintosh.
Single user source $459. Object
$179
Multiuser source $929. Object
$450
C DYNAMO!
WINDOWING: Full C Source,
No Royalties
POWER WINDOWS AND C
FUNCTION LIBRARY
Power Windows covers all the bases: over¬
lays, borders, 1-2-3 style or pop-up menus/
help windows, zap instantly on/off screen,
status lines, horizontal/vertical scrolling,
color control or highlighting, word-wrap,
files to windows, keyboard to windows.
Powerful, easy to use, integrated error
messages, thorough documentation. Sup¬
ports IBM monochrome or color.
MSDOS. Only $119.
C Function Library - includes 325 funda¬
mental functions with readable source
and thorough documentation.
MSDOS. Only $119.
No matter what you have, you need these.
Best value available. Highly recom¬
mended!
Full Screen library Plus Fundamentals
THE HAMMER LIBRARY
1-2-3 menus (even multilevel), data validation including range checking, field editing,
and Full Screen input make this a thorough screen library. Data entry routines let you
move between fields before completing screen. But you also get DOS and BIOS access,
file handling, string functions, and data handling. Plus pattern matching calls and library
handling utilities. Full source, no royalties. Data entry routines for solid interface with
user. Specify MS C, Lattice, CI-C86, Desmet, MW C.
MSDOS. A lot for only $179
Looking for the right tool for the job? Reach for THE HAMMER.
Even for Small Files: Convenient, Fast Access
CBTREE — Only $99
Why spend time writing file management code when you can use consistent, flexible,
documented, professional functions? Even multiuser record locking and variable-length
records are supported.
Add, delete, and update without needing to reindex. Store keys and record locations in
B1 trees.
You can access any record or group of records by the value of a user specific key. Search
your files from any point, forward or backward.
Full, balanced b-tree support includes use of multiple keys, unlimited number and length
of keys.
Use this powerful ISAM, even if you’ve previously done without.
Learn how to write systems for managing large files by using CBTREE source as a guide.
Modify it and transfer it to another operating environment without royalties.
MSDOS
Dear C Programmer:
You want the best development software for your needs. These products will help you:
• Speed your development efforts • Increase productivity
• Write even better programs • Reduce your programming frustration
We carry over 100 C compilers, interpreters, support libraries, debuggers, and addons, specifically designed for C programmers using MSDOS
or PCDOS. Call one of our knowledgeable consultants - toll free - for details, comparisons, or for one of our specially prepared packets on C.
There is no obligation. You must be completely satisfied with the products you purchase or you will receive a full refund or replacement. You
risk nothing with our 31 day risk-free trial on any product in this ad.
Yours for more productive programming.
Bruce W. Lynch, President
Call for a catalog, literature, advice and service you can trust
NEW HOURS
8:30 AM-8:00 PM EST.
800 - 421-8006
THE PROGRAMMER’S SHOP™
128- P Rockland Street. Hanover, MA 02339
Mass: 800-442-8070 or 617-826-7531 1285
“You’ve got everything I’ve heard of, and much 1
haven’t! . . . Normally, I expect my money to be
“fan letter” enough, but you people are SUPER!”
— Shel Hall
Artell Corp.
CIRCLE NO. 220 ON READER SERVICE CARD
MICHAEL ABRASH
Bit Rotation Speeds
When programming rotations in assembly language, the prefetch
queue must be considered in order to optimize execution time.
S pecifications for the 8088 state that the assembly language
instruction ROL AX,1 (which rotates the AX register left
one bit) executes in two cycles, while the instruction ROL
AX,CL (which rotates AX left the number of bits specified in
the CL register) requires four advance cycles to load CL, as
well as the number of cycles determined by CL*4+8, to exe¬
cute. Thus, rotation using the first method would seem more
than twice as fast as using the second.
Surprisingly, when programming for the PC, this is not
the case. Table 1 shows the execution times for the code in
figure 1 when performing rotations of from 0 to 16 bits first
with ROL AX,1, then with ROL AX,CL. The results indicate that
for rotations of 5 to 16 bits, the method involving CL is faster.
Only for rotations of fewer than 4 bits should ROL AX,1 be
used. This is because, with the 8088, the fetch of the next in¬
struction is not built into the instruction execution operation.
Instead, a bus interface unit (BIU) reads instruction bytes into
a four-byte prefetch queue. The BIU operates while the exe¬
cution unit (EU) is carrying out the current instruction, using
free memory in the prefetch queue as available. Instruction
timing specifications are for the EU and assume that the
instruction byte already has been fetched by the BIU.
Four clock cycles are required to read a byte from the
PC’s memory. With most instructions (especially those that ac¬
cess memory, because several cycles are required to calculate
memory addresses), this works well and allows the BIU the
memory access time it needs to keep up with the EU. The
8088, however, features instructions that operate only on the
high-speed internal registers, which causes these instructions
to execute extremely fast—faster than the BIU can fetch in¬
struction bytes. ROL falls into this category of instructions.
ROL AX,1 executes in two cycles, but it requires four cy¬
cles to fetch the next instruction byte from memory. If the
next instruction is another ROL AX,1, as in a multibit rotate,
the instruction is two bytes long, and eight memory cycles
are needed to fetch the next ROL. Thus, multibit rotates re¬
quire eight cycles, not two, to rotate by one, because the EU
must wait for the BIU to fetch the next instruction. ROL
AX,CL, however, does require only the specified four cycles
because once the instruction is fetched, it is executed repeat¬
edly until the rotation is complete. Moreover, because mem¬
ory is free during the execution of ROL AX,CL, the next four
instruction bytes can be prefetched, then executed as soon as
the rotation is complete. Thus, rotation by CL is preferable.
The method used to fetch instructions also can prove a
bottleneck with other examples involving register-only oper¬
ands. Any instruction that takes fewer than four cycles per in¬
struction byte to execute depletes the prefetch queue. Hm^wi
Michael Abrash is a senior software engineer for Tseng Laboratories.
TABLE 1: Rotation Benchmarks
NUMBER OF
ROTATIONS (N)
ROTATED BY
CL COUNT=N
ROTATED N
TIMES BY 1
0
165
97
1
173
129
2
193
165
3
217
192
4
231
231
3
247
270
6
265
289
7
289
337
8
289
371
9
309
404
10
324
433
11
347
474
12
361
505
13
372
541
14
385
577
13
408
609
16
423
643
Repeated use of ROL AX,1 depletes the prefetch queue and
slows execution. ROL AX,CL takes longer to execute, giving
the BIU time to refill the prefetch queue. Thus, ROL AX,CL
is faster for rotates of four or more bits.
FIGURE 1: Benchmark Code
SUB
CX,CX
MOV
DX,CX
MOV
AH,1
INT
1AH ;
: set clock to 0
MOV
BX,10H ;
: repeat rotate 10h*10000h
LP1:
■ times for timing
SUB
DX,DX
LP2:
; insert either
rotate by cl or
; equivalent # of rotate by I's
******** either
*******
MOV
CL,2 j
; change cl for desired
ROL
AX,CL ;
; # OF ROTATES
.********* OR *********
ROL
AX, 1
; insert desired # of
ROL
AX, 1
; rotates by 1
;**** but NOT BOTH ****
DEC
DX
JNZ
LP2
DEC
BX
JNZ
LP1
SUB
AH,AH
INT
1AH
; get clock ticks in CX:DX
This assembly language code fragment uses the system clock
in order to time the ROL operator.
MAY 1986
47
Optional
“Getting those features onto
one card would seem to
require more magic than
engineering experience.
Even The Companion Card
software has features beyond
what you expect from other
expanded memory boards."
PC Magazine
January 14. 1986
far
From MEGAOMEGA SYSTEMS INC
Featuring:
2 MEGABYTES OF EXPANDED MEMORY"
Battery Back-Up Clock/Calendar
Serial Port
Parallel Port
CIRCLE NO. 141 ON READER SERVICE CARD
___ Game Port ___
Prices Subject to Change Without Notice.
Made In U.S.A.
NEW LOW PRICE
$495. USA DOLLARS
ORDER TODAY:
(214)828-0960
Lattice is a famous
name in the world of
high quality programmer’s
tools. As an authorized distribu¬
tor of Lattice products, we at
Programmer’s Connection are pleased
to be your source for their complete line
of IBM Personal Computer software. All
of these products come with full manufac¬
turer’s support directly from Lattice, Incorporated.
Exclusive Special Offer from
Programmer’s Connection: Pur¬
chase a Lattice C compiler and re¬
ceive a FREE copy of SecretDisk, Lattice’s
new file encryption and security package.
Order soon, this offer expires on May 30,1986.
LIST OURS
Lattice C Compiler 500 299
(Includes Free SecretDisk) with Library Source Code 900 549
Popular, industry standard C compiler that features fast compilation, efficient code
generation, support for 80186/286 instructions and inline support of 8087/287
instructions. The latest version now supports void, enum, unsigned as a modifier
and function prototype checking. The library contains more than 325 functions
compatible with UNIX, XENIX and the proposed ANSI standard, plus extensive
support for MS-DOS versions 2.+ and 3.+. Other useful Lattice C features include
support for nested comments, extended symbol length and multiple memory
models. It comes with an object module disassembler, a function extract utility, a
full set of libraries for each supported memory model, sample programs and
extensive documentation. Requires 128K memory. Exclusive special offer: pur¬
chase a Lattice C compiler and receive a FREE copy of Lattice SecretDisk. Offer
expires on May 30,1986.
^ r ■ 1 Binary 150 99
4 !)vThe C-Food Smorgasbord with source code 300 195
General C function library featuring BCD (binary coded decimal) arithmetic, level 0
I/O, BIOS interface, terminal independence, directory, clock, string and other
miscellaneous functions. No royalties. For use with Lattice C.
RPG II Compiler 750 595
RPGII compiler for MS-DOS that is compatible with IBM System III, System /34 and
System/36 RPG II compilers. Special PC extensions include support for standard
MS-DOS files, keyboard, function keys and string handling. ISAM files are
compatible with dBC III and dBase III files. Requires 192K memory.
SecretDisk 60 49
File security utility for providing complete security for sensitive information on a
floppy or hard disk system. You can use either the international Data Encryption
Standard (DES) or Lattice’s own Fast encryption algorithm for higher speed
operation. It’s loaded as a DOS device driver and creates new logical DOS drives
where all files are fully encrypted. A password is entered when the system is
booted and protection can be switched on and off with a single password
controlled command line. Without the password, there is no known way to access
the encrypted files! Multiple protected areas may be created using different
passwords and data backup may be made in either encrypted or unencrypted
mode. It does not interfere with normal access to the computer system or to files
that are not encrypted. Special Limited-time Offer: Purchase a copy of Lattice C
and receive a FREE copy of SecretDisk! See description for Lattice C above.
C-SPRITE 175 139
Program debugger with source level support for Lattice C that includes help
screens, macros, command files, conditional commands, debugging through a
COM port and support for Plink86 overlays. The source mode supports all
debugging functions including disassemble, single-step and breakpoints. The
data types of symbols may be completely specified so that variables can be
properly displayed. There is also complete assembly language support providing
direct access to machine addresses and instructions. Requires 256K memory.
Specify C compiler: Lattice or Microsoft.
♦ Binary 125 99
Curses Screen Manager with source code 250 199
Library of C screen interface functions compatible with curses packages on UNIX
systems. You can keep and update any number of full or partial virtual screen
images in memory and display them as needed. Functions are provided to write
text to virtual screens, move the cursors, scroll the screens, overlay screens,
outline, insert, delete, clear and highlight. No royalties. For use with Lattice C.
♦ dBC II or
dBC III
Binary 250 199
with Source Code 500 395
Complete C library of ISAM file management functions for creating and manipu¬
lating dBase compatible files. You can easily add, update, delete, retrieve and
organize records and indexes in dBase format. Up to eight data and eight index
files may be opened and processed simultaneously. Specify dBC II for dBase II
type files or dBC III for dBase III type files. No royalties. Requires 128K memory.
Specify C compiler: Lattice, Microsoft, Computer Innovations or DeSmet.
^ LMK Make Utility 195 149
Programming utility to rebuild programs after changes have been made to source
files. First, you create a text file consisting of macro definitions, dependency
descriptions and executable commands. Then, whenever you make changes to
your program, LMK determines which source files need to be recompiled and
automatically creates the new program. Requires 128K memory and may be used
with any compiler or assembler.
LSE Screen Editor 125 99
Multi-window programmer’s editor with block moves, pattern searching and "cut
and paste." You can remap any of LSE’s 48 keystrokes to suit your own
preferences and define your own keyboard macros and default file extensions.
The menus, prompts and help messages used in the system can all be customized.
Special features include a Lattice C error tracking mode and three assembly
language input modes. Requires 128K memory.
SideTalk 120 95
Pop-up telecommunications package that can be accessed from inside any
application with a single keystroke. It incorporates the SideTalk Communications
Language (SCL) consisting of BASIC-like commands that allow you to create your
own communications processing system. It provides for multitasking (background)
operation, file transfer capabilities, text transfer from background to foreground
and DOS commands available in background. Requires less than 64K available
memory.
.. Text Management Utilities 120 95
Includes four text management utilities found under UNIX. The first utility is grep
(global regular expression search and print). You provide it with a pattern to find
and it displays each line containing that pattern with its line number in that file. In
addition, these functions are provided as Lattice C object libraries. The second
utility is DIFF, a differential file comparator. It compares two files and determines
how they differ from one another. The third utility is ED, a line editor and the fourth
utility is WC, a simple word count facility for counting the number of characters,
words and lines in a file. Requires 128K memory.
'^^TopView Toolbasket:
Binary 250 199
with Source Code 500 395
Library of C functions for simplifying programming in IBM’s TopView environment.
It gives you easy access to TopView’s window, cursor, pointer facilities, cut-and-
paste services and printer control services. It deals with TopView objects through
a central dispatching function that can be tailored to your application. Includes
excellent error checking and debugging support. Requires 256K memory (512K
recommended). For use with Lattice C.
CALL TOLL FREE
800 * 336 * 1166
_U.S. OHIO 216-877-3781
1 * 1800 * 885*1166
■ZJ CANADA
*ammer*s
[Fyjjiprogi
l9conm
connection
Lattice is a trademark of Lattice, Incorporated.
Turn the page for a wide selection of programmer’s development tools exclusively for IBM Personal Computers and compatibles.
PROGRAMMER DEVELOPMENT
Shipping Charge*
Handling Charge
Insurance Charge
Credit Card Charge
C.O.D. Charge
Purchase Order Charge
Hidden Charges
Risk Guarantee I
*When shipping via standard United Parcel Service.
apl language
APL*PLUS/PC System by STSC . 595
APL*PLUS/PC Tools Vol 1 by STSC . 295
APL*PLUS/PC Tools Vol 2 by STSC . 150
APL*PLUS/UNX System by STSC . For AT Xenix 995
Btrieve ISAM File Mgr by SoftCraft . New version 250
Financial/Statistical Library by STSC . 275
FRESCO Business Graphics System by Mr. APL . 300
Pocket APL by STSC . 95
STATGRAPHICS by STSC . 695
artificial intelligence
ExpertEASE by Human Edge . New 695
ExpertEDGE by Human Edge. New 795
Experteach by Intelliware . Complete System 475
EXSYS Expert System Development Software . 395
GCLISP Golden Common LISP by Gold Hill . All models CALL
Insight I by Level Five Research . Al Primer 95
Insight II by Level Five Research . 485
LISP by Microsoft . New Common Lisp 250
Methods Smalltalk-based Prototyping by Digitalk . 250
MicroProlog by Programming Logic Associates . New 250
with APES. 425
Professional MicroProlog by Programming Logic. New 395
with APES. 650
Prolog-86 from Solution Systems . 125
Prolog-86 Plus from Solution Systems. New 250
QNIAL by NIAL Systems . New 375
Small-X by Kaplan . 125
TransLISP from Solution Systems. New 75
Turbo Prolog Compiler by Borland International. New 100
assemblers and debuggers
8088 Assembler w/Z-80 Translator by 2500 AD . 100
Advanced Trace-86 by Morgan. with ASM Interpreter 175
Codesmith-86 Debugger by Visual Age . 145
Cross Assemblers from 2500AD . Over 25 varieties CALL
Microsoft Macro Assembler with utilities. 150
Periscope I Debugger by Data Base Decisions . 295
Periscope II by Data Base Decisions . 145
The PROFILER by DWB Associates. Includes source 125
Turbo EDITASM Fast Assembler by Speed ware . 99
Visible Computer: 8088 by Software Masters. 80
basic language
BetterBASIC by Summit Software ... Now BASICA Compatible 200
8087 Math Support. 99
Btrieve Interface . Used with Btrieve 99
C Interface . New CALL
Run-time Module . 250
Microsoft QuickBASIC Compiler. BASICA Compatible 99
Professional BASIC by Morgan . 99
8087 Math Support. 50
True Basic from Addison-Wesley . 150
Run-time Module . 500
blaise products
Asynch Manager for Cor Pascal . 175
C Tools . 125
C Tools 2 . 100
Combination package . Special Price 175
Exec Program Chainer . 95
Pascal Tools . 125
Pascal Tools 2. 100
Turbo ASYNCH for Turbo Pascal . 100
Turbo POWER TOOLS for Turbo Pascal . 100
View Manager for C or Pascal . 275
with Source Code . Special Price 295
borland products
REFLEX Data Base System . New 99
Turbo DATABASE TOOLBOX . 55
Turbo EDITOR TOOLBOX . 70
Turbo GAMEWORKS TOOLBOX . 70
Turbo GRAPHIX TOOLBOX . 55
Turbo LIGHTNING . 99
Turbo PASCAL . 70
with 8087 or BCD . 110
with 8087 & BCD. 125
Turbo Prolog Compiler . New 100
Turbo TUTOR for Turbo PASCAL . 35
OURS
449
239
129
795
195
219
269
79
539
589
659
389
339
CALL
75
389
189
209
219
369
349
569
CALL
CALL
359
99
CALL
CALL
89
139
109
CALL
99
249
115
95
84
65
165
85
85
CALL
225
79
79
47
105
435
139
105
84
149
79
105
84
84
84
209
239
75
38
54
54
38
75
49
77
84
CALL
28
TOOLS FOR THE IOM-PC/XT/AT
and compatibles.
c compilers
C-86 Compiler . See Computer Innovations Section
Datalight C Compiler with large memory model . New
DeSmet C Compiler w/Source Debugger .
Eco-C Complete Development System by Ecosoft .
Lattice C with Free SecretDisk . See Feature Page
Let’s C Compiler by Mark Williams.
with csd Source Level Debugger .
MWC-86 by Mark Williams . Special Price
Microsoft C Compiler with source debugger. . New version
Wizard C by Wizard Systems . includes lint
c interpreters
Instant C by Rational Systems .
Interactive C by IMPACC Associates . New
Run/C from Lifeboat .
Run/C Professional from Lifeboat.
395
289
99
79
159
145
125
CALL
500
299
75
69
150
129
495
289
495
CALL
450
369
300
239
500
379
249
219
150
99
250
189
c utilities
Please refer to the following sections for additional products: Blaise,
Computer Innovations, Lattice, Microsoft, Phoenix, Polytron, SoftCraft and
Xenix System V.
Application Programmer’s Toolkit by Shaw American
BasicC Library by C Source.
C Essentials by Essential Software . New
C-lib by vance info systems .
C Power Packs by Software Horizons .
c-tree by FairCom. Includes source
C Utility Library by Essential Software .
C Windows by Syscom .
C Wings by Syscom .
dbVISTA Single-User DBMS by Raima.
with Source Code .
dbVISTA Multi-User DBMS by Raima .
with Source Code .
Entelekon C Function Library .
Entelekon C Windows .
Entelekon Superfonts for C .
Entelekon Combination Package .
Essential Graphics by Essential Software. No royalties
Flash-up Windows by Software Bottling of NY.
Graphic by Scientific Endeavors. Mono version 2.2
Graphic by Scientific Endeavors. Color version 3.0
The Greenleaf Functions by Greenleaf Software.
Greenleaf Comm Library by Greenleaf Software .
The HAMMER by OES Systems.
H.E.L.P. by Everest Solutions.
MetaWINDOWS by Metagraphics.
MetaWINDOWS/Plus by Metagraphics. New
Multi-Halo by Media Cybernetics . Royalties
On-line Help from Opt-Tech Data .
PANEL by Roundhill. Library Source Available
PC Lint by Gimpel Software .
Scientific Subroutine Library for C by Peerless .
Vitamin C by Creative Programming.
VC Screen Forms Designer . Requires Vitamin C
Windows for C by Vermont Creative Software .
Windows for Data . Includes Windows for C
Zview by Data Management Consultants .
cobol language
Micro Focus COBOL Workbench .
Micro Focus Level II COBOL .
COMATH .
FORMS-2 .
Level II Animator.
Level II FILESHARE .
Level II SOURCEWRITER .
Micro Focus Micro/SPF .
Micro Focus Professional COBOL .
Microsoft COBOL . See Microsoft Section
Realia COBOL . New
RM/COBOL by Ryan-McFarland .
RM/COBOL 8X ANSI 85 COBOL by Ryan-McFarland ... New
395
339
175
135
100
85
195
125
CALL
CALL
395
329
185
139
100
89
50
45
195
159
495
429
495
429
990
849
130
115
130
115
50
45
200
175
250
219
75
69
280
219
350
299
185
135
185
135
195
175
90
79
185
139
235
199
300
219
149
119
295
229
139
109
175
139
150
139
99
85
195
139
295
199
245
199
4000
3599
CALL
CALL
200
169
300
269
1200
995
800
659
2000
1689
175
159
3000
2395
700
495
995
795
950
675
1250
995
computer innovations products
C-86 Optimizing Compiler . 395
C to dBase . 150
Cl Probe Source Level Debugger . 225
Cl ROM Pack forC-86 . 195
Introducing C. C Interpreter 125
fortran language
ACS Time Series by Alpha Computer Service . 495
Btrieve ISAM File Mgr . See SoftCraft Section
For-Winds by Alpha Computer Service . 90
Forlib-Plus by Alpha Computer Service. 70
Microsoft Fortran . Links with Microsoft C 350
MORE FORTRAN by Peerless Engineering . New 125
Multi-Halo by Media Cybernetics . Royalties 300
PANEL Screen Designer by Roundhill . 295
PC Fortran Tools by Stat Com Systems. New 179
PolyFortran Tools by Polytron . 179
RM/Fortran by Ryan-McFarland . 595
Scientific Subroutine Library by Peerless . 175
Scientific Subroutine Package by Alpha Computer . 295
The Statistician by Alpha Computer Service. 295
Strings & Things by Alpha Computer Service . 70
289
139
199
149
105
429
79
55
215
99
219
229
159
139
395
139
259
259
55
lattice products
Refer to our feature page preceding this spread for more information.
Lattice C Compiler . with Free Lattice SecretDisk
with Library Source Code .
C Cross Reference Generator .
with Source Code . New
C-Food Smorgasbord Function Library .
with Source Code .
C-Sprite Source Level Debugger .
Curses Screen Manager .
with Source Code .
dBC dBase File Manager for C .
with Source Code .
LMK Make Facility .
LSE Screen Editor . New
RPG II Compiler .
SecretDisk File Security . Free with Lattice C
SideTalk Resident Communications .
Text Mgmt Utilities fGREP / D\FF / ED/WC/Extract/Build) .
TopView Toolbasket Function Library .
with Source Code .
Z-80 C Cross Compiler . New
with Library Source Code .
microsoft products
Microsoft BASIC Interpreter for Xenix .
Microsoft C Compiler with source debugger . New version
Microsoft COBOL Compiler .
Microsoft COBOL Compiler for Xenix .
Microsoft COBOL Tools . with COBOL Source Debugger
Microsoft COBOL Tools for Xenix .
Microsoft Fortran Compiler . Links with Microsoft C
Microsoft Fortran Compiler for Xenix .....
Microsoft LISP. New Common Lisp
Microsoft Macro Assembler with utilities .
Microsoft Mouse Bus Version . New
Microsoft Mouse Serial Version . New
Microsoft muMath. Includes muSIMP
Microsoft Pascal Compiler . Links with Microsoft C
Microsoft Pascal Compiler for Xenix .
Microsoft Sort .
Microsoft QuickBASIC Compiler.
Microsoft Windows.
modula-2 language
MODULA-2/86 Compiler by Logitech .
with 8087 .
with 512K .
MODULA-2 Editor by Logitech .
MODULA-2 Runtime Debugger by Logitech .
MODULA-2 Source Package by Logitech.
MODULA-2 Utilities Package by Logitech .
other products
Dan Bricklin’s Demo Program by Software Garden ... New
FASTBACK Backup Utility by 5th Generation Systems .. New
Interactive EASYFLOW by Haventree Software. New
Janus/ADA C Pack by R&R Software .
Janus/ADA D Pack by R&R Software .
PC/Forth by Laboratory Microsystems .
PC/Forth+ by Laboratory Microsystems .
phoenix products
Authorized Dealer
Springtime Sale!
Pasm86 Macro Assembler .
Pfantasy Pac . Pfinish,Pfix+.PIink+,Pmaker.Pmate,Ptel
Pfinish Performance Analyzer .
Pfix-86 Plus Symbolic Debugger .
PforCe C Function Library . New
Plink-86 Overlay Linker .
Plink-86 Plus Overlay Linker .
Pmaker Program Development Manager .
Pmate Macro Text Editor .
Pre-C Lint Utility .
Ptel Binary File Transfer Program .
polytron products
Polytron C Library I .
Polytron C Beautifier . New
PolyFORTRAN Tools I.
PolyLibrarian Library Manager .
PolyLibrarian II Library Manager .:...
PolyMake UNIX-like Make Facility .
PolyOverlay Overlay Optimizer .
Polytron PowerCom Communications . New
Poly Windows Developer Kit. New
PolyWindows Products. All varieties
PolyXREF Cross Reference Utility . Complete system
PolyXREF . Support for one language only
PVCS Polytron Version Control System .
PVMFM Polytron Virtual Memory File Manager .
LIST OURS
500 299
900 549
50 39
200 159
150 99
300 195
175 139
125 99
250 199
250 199
500 395
195 149
125 99
750 595
60 49
120 95
120 95
250 199
500 395
500 395
1000 789
350 279
495 CALL
700
495
995
795
350
209
450
359
350
209
495
389
250
189
150
99
175
149
195
159
300
195
300
195
495
389
195
149
99
79
99
74
89
65
129
105
189
149
59
49
69
59
179
155
49
45
75
65
179
159
150
129
95
89
900
699
150
119
250
209
295
179
1295
895
395
229
395
229
395
CALL
395
229
495
359
195
139
225
139
395
229
195
129
99
79
49
45
179
139
99
79
149
119
99
79
99
79
179
139
199
149
CALL
CALL
219
179
129
109
395
359
199
149
softcraft products
Btrieve ISAM File Mgr with no Royalties . New version
Btrieve/N for Networks .
Rtrieve Report Generator for Xtrieve .
Rtrieve/ N Report Generator for Xtrieve/N .
Xtrieve Query Utility for Btrieve .
Xtrieve/N Query Utility for Btrieve/N .
OPT-Tech Sort Works with Btrieve Files . New version
text editors
Brief from Solution Systems .
Epsilon by Lugaru.* New version
FirsTime for Turbo by Spruce Technology .
KEDIT by Mansfield Software Group . Like Xedit
SPF/PC by Command Technology Corp .
Vedit by CompuView .
Vedit Plus by CompuView.
XTC Text Editor by Wendin . Includes source
turbo pascal utilities
Please refer to the following sections for additional products:
Blaise. Borland and SoftCraft.
(5-86)
250 195
595 465
85 79
175 159
195 169
395 299
149 119
195 CALL
195 165
75 69
125 109
195 165
150 115
125 180
99 84
ALICE by Software Channels. New Pascal Interpreter 95 85
FirsTime for Turbo by Spruce Technology . 75 69
Flash-up Windows by Software Bottling of NY. 75 69
Multi-Halo Graphics by Media Cybernetics. Royalties 250 CALL
On-line Help from Opt-Tech Data . 149 119
Screen Sculptor by Software Bottling of NY . 125 95
Turbo EXTENDER by TurboPower Software . New 85 69
Turbo Professional by Sunny Hill Software. 70 49
TurboRef by Gracon Services . 50 45
TurboPower Utilities by TurboPower Software . 95 84
TurboWINDOW by MetaGraphics. 80 69
XTC Text Editor by Wendin . 99 84
video training tapes
These video cassette training tapes are from the Information Factory ana are an excellent
alternative to expensive classroom training. Specify Beta or VHS. Price includes one student
manual. Call for more information.
Computer Literacy . New 400
Local Area Networks . New 350
Programmer’s Introduction to C . New 500
wendin products
Operating System Toolbox. Build your own OS 99
PCUNIX Operating System . 99
PCVMS Operating System . Similar to VAX/VMS 99
XTC Text Editor . Includes Pascal source code 99
xenix system v by sco
Xenix Development System . Specify XT or AT 495
Xenix Operating System . Specify XT or AT 495
Xenix Text Processing Package . Specify XT or AT 195
Complete Xenix System . Specify XT or AT 1085
xenix languages and utilities
APL*PLUS/UNX System by STSC . For AT Xenix 995
Btrieve ISAM File Manager by SoftCraft . 595
c-tree by FairCom. Includes C source code 395
Informix by SCO . 995
Lyrix by SCO . 595
Microsoft Languages. See Microsoft Section
Networks for XENIX by SCO . New CALL
PANEL Screen Designer by Roundhill . For AT Xenix 595
SCO Professional by SCO . Complete Lotus clone 795
Windows for C by Vermont Creative Software . 395
Windows for Data by Vermont Creative Software . 595
CALL
CALL
CALL
84
84
84
84
449
449
179
969
795
465
329
839
489
CALL
539
695
359
539
We are open until 5 p.m. Pacific Time, (8 p.m. Eastern).
Purchase Orders are accepted from qualified accounts
at no extra charge.
Visa and MasterCard are accepted with no surcharge applied.
Please include card expiration date when ordering by mail.
Account is charged when shipped. y
CALL TOLL FREE
H 800 * 336*1166
il.S. OHIO 216-877-3781
OUR NO RISK GUARANTEE
If you are not completely satisfied with your purchase you may return it within 30 days.
All returned products must meet our standards for being in new, resellable condition
including all paperwork and unused registration card. Products including source code
are generally excluded by the manufacturer from this guarantee. Please ask for specific
details when placing your order.
Prices are subject to change without notice.
programmer's
mm* M mmm — fc J-|_ ■ 2 0m*mm* 136 SUNKYSIDE ST.
C O li ll G Cb I O n HARTVILLE, OHIO 44632
CIRCLE NO. 175 ON READER SERVICE CARD
Data acquisition boards from seven manufacturers
are examined from a hardware point of view.
Their specific performance characteristics help a
user select a suitable board for a given application.
ERIC M. MILLER
D ata acquisition boards occupy an
unusual niche in personal com¬
puter applications. They bridge
the gap between the software world
and the physical world of continuous
data. It is this interface to the real
world, rather than the programming of
these cards, that is the focus here. Al¬
though the software is important in re¬
ducing the time to bring a card up and
accomplish a given task, no amount of
clever programming can make up for
fundamental analog hardware instru¬
mentation errors and defects.
The cards reviewed are not test
and measurement grade instruments—
they provide only a foundation for
measurement. The user must add cir¬
cuitry to accurately and nonintrusively
accomplish monitoring and control
functions. Also note that although a
wide range of data acquisition systems
exist that reside in external boxes, this
review covers only internal products.
The companies represented are Burr-
Brown, Data Translation, IBM, Metra-
Byte Corporation, Scientific Solutions,
Strawberry Tree Computers, and West¬
ern Telecomputing, each with one or
more boards. (See table 1 for a sum¬
mary of the products reviewed and
their basic features.) None of the manu¬
facturers provided sufficient information
to determine the accuracy of its data ac¬
quisition card for an application, nor
did any offer guidance for determining
a system’s overall accuracy.
The standard architecture for a typ¬
ical data acquisition board is shown in
figure 1. The analog input signals are
sent through to the analog-to-digital
(A/D) converter via conditioning circuits
that permit the collected data to be out¬
put as required. After some precautions
involving grounding, attention is turned
to the analog input channel, then the
remainder of the I/O.
Grounding considerations for
instrumentation work are an important
aspect in the design of any system. Nor¬
mally, the analog ground for the meas¬
urement system is isolated from the
power-line ground; however, none of
the boards reviewed did so. All of their
analog and digital I/O grounds are con¬
nected to each other and to the power
line ground inside the PC. Thus, the
user must exercise considerable caution
in interfacing to apparatus or sensors
that also may have a power-line ground
connection in order to prevent any
hazards or ground loop currents.
It is not unusual, especially with
heavy current consumption devices
(motors, ovens, etc.) operating from the
power line, to have a substantial poten¬
tial difference, on the order of volts,
across two power-line receptacles. Mis¬
application obviously could seriously
damage all the attached equipment.
Differential inputs should be used
unless a sensor is completely isolated
from any power-line ground to avoid
ground-related problems. Even so, the
analog ground must be connected to
stay within the input differential com¬
mon mode limits. (More information on
this is available in the references listed
at the end of this article.)
Input protection. The first stage of the
data acquisition board should be the
52
PC TECH JOURNAL
PHOTOGRAPH ‘JOHN LEI
53
DIGITIZING
TABLE 1: Summary> of Basic Features
BURR-BROWN
20001 C-2
20002
20019
20003
20006
DATA TRANS.
DT2801-A
A/D CHARACTERISTICS
A/D type 3
N/A
2
2
N/A
N/A
2
Resolution (bits)
N/A
12
12
N/A
N/A
12
Accuracy (bits)
N/A
N/S
N/S
N/A
N/A
0.05% overall
Speed (conv./sec)
No. of channels
N/A
25,000
87,000
N/A
N/A
27,500
Differential
N/A
8
None
N/A
N/A
8
Single-ended
N/A
16
8
N/A
N/A
16
Input ranges (volts)
N/A
+/—5, +/-10
0 to 10
Gains = 1,10
100,1,000
+/-2.5,
+/-5, +/-
Oto 5,
Oto 10
N/A
10,
N/A
-h/—1.25, -h/—2.5,
+/—5, +/-10,
+ 1.25, +2.5
+5, +10
D/A CHARACTERISTICS
No. of D/A on board
N/A
N/A
N/A
2
2
2
Resolution
N/A
N/A
N/A
12-bit
16-bit
12
Range (volts)
N/A
N/A
N/A
+/—5, +/-10
0 to 10
+/—5, +/-
Oto 10
-10 +/—2.5, +/—5,
+/-10, +5, +10
Number of parallel I/O 32
channels
TIMER/COUNTER CHARACTERISTICS
None
None
None
None
16
Type
None
None
None
None
None
Int. only
No. of channels
N/A
N/A
N/A
N/A
N/A
N/A
No. of bits
N/A
N/A
N/A
N/A
N/A
N/A
Realtime clock
None
None
None
None
None
None
Terminal box f
N/A
C
C
C
C
D (on PCB)
Supports ASYST
Yes
N/A
N/A
N/A
N/A
Yes
Supp. Lab Tech Note.
Yes
N/A
N/A
N/A
N/A
Yes
Other Motherbd. Module
N/A = Not applicable; N/S = Not supplied.
a Type 1 = integration; type 2 = successive approximation.
b Can be used for voltage or frequency.
C 16 output (28 LSTTL loads), 16 input (LSTTL)
d 32-bit, 1.023 MHz input; 16-bit, DC-2 MHz input.
e 100 KHz input may be used for voltage or frequency.
fType A = plastic box with mini-screw clamp connectors.
Module
Type B
Module
= ribbon cable headers.
Module
On-board 8742
Type C = printed circuit board with mini-screw clamp connectors.
Type D = barrier terminal ship.
Type E = with thermocouple compensation.
^Unshielded cable, screw terminals.
h 19-inch rack mount.
input protection circuitry. Accidents do
happen, so attention should be given to
this important element. This is espe¬
cially true in industrial environments
where sensors can cross paths with
power circuits. Most manufacturers of
data acquisition boards rely solely on
the small measure of protection offered
by the multiplexer (typically the Harris
508A or 506A). It can withstand contin¬
uous ± 20 V (volts) over its power sup¬
ply voltages. (The typical supply voltage
used is ±15 V). It also gives superior
electrostatic discharge protection, up to
5 or 6 KV (kilovolts).
Three of the reviewed boards did
offer external protection: IBM protects
to ± 30 V, Strawberry Tree to ± 50 V,
and the MetraByte dascon i to 120 V
RMS (root mean square) continuous.
Multiplexers. This next input stage pres¬
ents an analog channel to the subse¬
quent signal processing circuitry. Ideal¬
ly, a multiplexer should look like a
straight piece of wire between the out¬
put and the chosen input. These devices
can exhibit extremes in performance.
Multiplexers can produce tempera¬
ture-dependent offset voltages in the
microvolt range, but this affects only
those systems with high gain (greater
than 1,000). They have a nasty habit of
dumping leakage current, typically in
the 100-pA (picoampere) range, into (or
out of) the analog input. However, if
the PC’s expansion slots are filled, the
temperature inside the box can rise
dramatically, with a resultant increase in
leakage current—the amount can dou¬
ble every 10 degrees centigrade.
These devices also present a chang¬
ing capacitive load on an analog input
line when they switch from the on con¬
dition to the off. This charge-injection
effect dumps (or extracts) a packet of
charge onto the input. Up to 150 pC
(picocoulombs) of charge can suddenly
appear on the input, which causes a
voltage spike of magnitude V = QIC (C
is the capacitance on the input line).
For example, if an input line has a
low 50 pF (picofarads) of capacitance
associated with it, a 150-pC charge
dump will cause a 3-V spike. The spike
will decay, the time constant for which
depends upon the source resistance. If
it is low—less than 1 Kfl (kilohm)—no
problems result, because the spike will
have disappeared before the sample-
and-hold grabs the voltage. But, if the
source resistance is high, the sample-
and-hold grabs the input voltage plus a
fraction of the spike. The user must be
aware of the source resistance, input
channel capacitance, and charge injec¬
tion to be sure the sample-and-hold is
triggered after the spike has decayed to
an acceptable level.
Although often not explicit in data
sheet or manual, the specifications for
the data acquisition boards assume a
zero input impedance. The user must
calculate the errors produced by the ap¬
plication’s nonzero input impedance
and apply them to the system accuracy.
54
PC TECH JOURNAL
IBM
BOARD
METRABYTE
DASCON 1
DASH 8
DASH 16
SCIEN. SOL.
LAB MASTER
STRAWBERRY TREE
ACPC-14-16 ACPC-16-16
WEST.TEL.
ICIS
2
1
2
2
2
1
1
1
12
12 4- sign
12
12
12
14
16
12
N/S
0.01%
0.01%
0.01%
4-/—0.025%
11
11
12
47-1 bit
+/-1 bit
47-1 bit
15,000
30
30,000
35,000
30,000
2.5 (variable)
200
10
4
4
None
8
8
16
16
I6 b
None
None
8
16
16
None
None
None
0 to 10,
+/-2.0475
47-5
0 to 1, 0 to 2,
0 to 10,
0.05, 0.5,
0.05, 0.5,
+/-0.01,
47—5, +/-10
0 to 5, 0 to 10,
4-/-10
10, 4-/—0.025,
10, 4-/—0.025,
47-0.1
4-/—0.5. 47-1,
4-/—0.25,
4-/—0.25,
+/-1, 47-10
4-/—2.5,
47-5
4-/—5
4-/—5, 47-10
2
2
None
2
2
2
None
8
12-bit
12
N/A
12-bit mult.
12-bit
8-bit
N/A
12-bit (opt.)
0 to 10,
N/S
N/A
N/S
N/S
N/S
N/A
47-10
47-5, 47-10
16°
12
7
8
24
16
16
24
Two d
None
8253-5
8253-5
9513
None
None
82C53
1 per timer
N/A
3
3
5
N/A
N/A
16
32, 16
N/A
16
16
16
N/A
N/A
-e
None
1
None
None
None
1
1
1 in software
D (shielded)
A
A
A
B
E«
E«
D h
Yes
No
No
Yes
Yes
No
No
No
Yes
No
Yes
Yes
Yes
No
No
No
I/O mapped
N/A
Half-card
N/A
Input expans.
Expansion by
Expansion by
On-board
only
(14, 16-bit),
adding cards
adding cards
80C85, opt.
I/O or memory
battery
mapped
A wide range of data acquisition boards is available for different applications. Applications requiring conversion rates from 2.5 to
87,000 conversions per second can be accommodated. A variety in the number and type of input channels is offered.
Multiplexer isolation between
channels at DC (direct current) to 1
KHz (kilohertz) is high—typically
greater than 100 dB (decibels)—but this
deteriorates rapidly as the frequency of
the signal increases. The isolation also
depends upon the impedance seen by
the on channel. The user need not
worry if all inputs are driven by low im¬
pedance sources. He should be cautious
if an application requires digitizing not
only high-level signals in the tens of
kilohertz range, but low-level signals as
well. The feed-through from the desel¬
ected high-level signal can cause signifi¬
cant errors in the low-level reading.
Good practice indicates that all unused
analog channels are terminated to
analog ground.
The Harris 508A is used on many
of the reviewed boards (table 2 lists the
significant components used). It is a
particularly good choice, but by no
means perfect. Its strength is that in the
face of overvoltages and static discharge
it comes through like a trooper. A sec¬
ond nice feature of the 508A is that if a
deselected channel experiences an
overvoltage condition, it does not affect
the present on channel.
An input multiplexer is not used in
some applications. To achieve this and
yet preserve the time relationship
between various analog inputs, some
boards use a sample-and-hold amplifier
for each channel desired. The sample-
and-holds are strobed simultaneously. A
back-end multiplexer then allows the
A/D conversion to occur sequentially to
complete the data acquisition. None of
the reviewed boards were designed for
this configuration, although it is possi¬
ble to use some of the Burr-Brown
modules as a back-end multiplexer.
Instrumentation amplifier. An IA performs
two functions: it converts a differential
input to a single-ended output, and it
supplies gain. In most situations, the LA
input specifications determine the input
characteristics of the data acquisition
board. Its voltage offset and offset volt¬
age drift contribute directly to the over¬
all offset specification. Its input bias cur¬
rent (and bias current offset) often limit
the maximum source resistance for the
application. The common mode rejec¬
tion ratio (CMRR) is also an offset-pro¬
ducing phenomenon. Theoretically, if
the plus and minus inputs of an LA are
tied together and raised a volt, no
change should be evident in the output.
In reality, the IA will convert that com¬
mon mode signal to an input offset, and
amplify it by its gain. A 60-dB CMRR
means that the IA will develop a 1-mV
(millivolt) input voltage offset when
both inputs are raised 1 V. CMRR will
decrease with frequency (starting at
about 10 Hz) at a rate of approximately
20 dB per decade. The higher the
CMRR, the better chance the data acqui¬
sition board has of combating common
mode and ground induced noise.
For low sampling rates, the AC
(alternating current) performance of the
MAY 1986
55
DIGITIZING
TABLE 2: Summary of Significant Components Used
BURR-BROWN
20002
20019
20003
20006
20017
DATA TRANS.
DT-2801-A
INPUT STAGES
Input circuitry
None
None
N/A
N/A
None
None
protection
Multiplexer type
BB MPC8S b
BB MPC8S b
N/A
N/A
None
Harris 508A
Instrumentation
amplifier type
Burr-Brown
PGA-200AG
None
N/A
N/A
Burr-Brown
INA 102AG
3 PMI-OP-15
Sample-and-hold type
National
LF389A
Teledyne
TP4866
N/A
N/A
National
LF398A
National LF398A
Sample-and-hold
1,000
100
N/A
N/A
1,000
1,000
capacitor (pF)
A/D type
Harris 574KD
Burr-Brown
ADC84KG
N/A
N/A
N/A
AMD2504, LT311,
AD565
A/D reference
On 574KD
On ACD84KG
N/A
N/A
N/A
On D/A Con.
Input amplifier type 0
S and D
S
N/A
N/A
D
S and D
OUTPUT STAGES
D/A converter type
N/A
N/A
Burr-Brown
DAC11A
Burr-Brown
DAC709K
N/A
AD7545LN
Output amplifier type
N/A
N/A
On DAC811A
On DAC709K
N/A
LM258
a Series resistor with diode clamp.
b Harris 508A look-alike.
C S = single-ended; D = differential.
IA can be neglected. For sampling rates
in excess of a few hundred hertz,
however, the AC limitations can play an
often unexpected role.
Foremost is the brick-wall limita¬
tion of slew rate. The output of the LA
cannot traverse a signal step faster than
it can slew. Assuming a simple sine
wave input, the slew rate for the signal
is given by the equation
slew rate = 2tt FVpp
where F is the sines frequency and Vpp
is the peak-to-peak voltage. Suppose
that the IA on a data acquisition board
can slew at 0.5 volts per microsecond
and the user needs to determine the
highest frequency sine wave that he can
digitize, yet make maximum use of the
A/D full-scale range (±10 V). In this
case, the frequency would be:
slew rate
2tt Vpp
= 3 978 KHz
Signal frequencies higher than this will
be greatly distorted and erroneous
measurements will result.
The next fundamental limitation is
that of finite bandwidth, which can
cause two measurement errors. The
first limitation is the response time of
the IA to a change in the input signal.
Assuming a first order system, the time
that it will take for the output to settle
within a specified error is given by
t = -ln(err)
2t t Fo
where err is the error and Fo is the
-3-dB bandwidth of the IA at the gain
of interest. Suppose that the IA has a
-3-dB bandwidth of 10 KHz at a gain of
100. The time it will take the'LA to settle
to within 1 LSB (least significant bit) for
a 12-bit converter will be:
— ln(l/2 12 )_ — ln(2.4 X 10" 5 )
2tt 10 3 2tt 105
= 169 microseconds
As gain increases, IA bandwidth
decreases, and longer acquisition
times will be necessary. Sampling be¬
fore the IA has settled can result in sig¬
nificant errors.
The second bandwidth limitation
effect is even more insidious. Remem¬
ber that a -3-dB bandwidth frequency
is the frequency at which the LA gain is
30 percent down from its DC gain. This
decrease in gain begins far before the
-3-dB point and can materially affect
surprisingly low frequency measure¬
ments. Reconsider the IA example
above, with the gain of 100 and the
-3-dB point at 10 KHz. Suppose the
user wants to digitize the highest fre¬
quency signal he can, yet retain 1 LSB
(at 12 bits) amplitude accuracy after the
A/D stage. The maximum frequency at
which the data acquisition board would
be able to do this is 221 Hz; although
the arithmetic is straightforward, table 3
shows results from similar calculations.
This simplified analysis using only
first order behavior is negated by cer¬
tain components that also demonstrate
some second order frequency re¬
sponses. The Precision Monolithics, Inc.
(PMI) AMP-01, as it is used by Metra-
Byte, has a nasty peak in its frequency
response at low gains that makes accu¬
rate use past a few kilohertz impossible.
An anti-aliasing filter should be
present at this point; however, none of
these boards takes this precaution. Al¬
iasing occurs when a signal is sampled
at a rate less than twice the signal’s fre¬
quency (this sampling rate limit is
called the Nyquist rate). This error
causes a high-frequency input signal,
after conversion, to appear to the CPU
at the output as a lower frequency sig¬
nal. The user must take care that signals
with a significant frequency content that
is above one-half of the sampling rate
not get through to the remainder of the
system. An anti-aliasing filter at this po¬
sition in the circuit averts the problem.
Sample-and-hold amplifier. Most data
acquisition boards use successive ap¬
proximation A/D converters for speed
and versatility, making necessary a sam¬
ple-and-hold amplifier. The successive
approximation converter requires that
the input voltage remain constant
throughout conversion. The sample-
and-hold acquisition time adds to the
overall conversion throughput time di¬
rectly. Sample-and-hold accuracy also
depends upon the input signal slew
rate. The manufacturers’ data sheets
provide graphs that show the possible
error for sample frequencies.
In systems without an instrumenta¬
tion amplifier, the input characteristics
of the sample-and-hold dominate the
overall system input specifications.
Analog-to-digital. The A/D converter is
the last stop for the input analog volt-
56
PC TECH JOURNAL
IBM
BOARD
METRABYTE
DASCON 1
DASH 8
DASH 16
SCEEN. SOL.
LAB MASTER
STRAWBERRY TREE
ACPC-14-16 ACPC-16-16
WEST. TEL.
ICIS
+/-30 V*
+/-120 V
RMS a
None
None
None
+/—50 V*
+/—50 V*
None
AD7502K
CD4052
Harris 508A
Harris 508A
Harris 508A
CD4052
CD4052
Harris 506A
S/H TL064
Opt. LM363D
None
PM I AMP-01
3 PMI-OP-15
LM308
LM308
AD524AD
Analog Dev.
AD583KD
N/A
LF398
LF398
LF398A
N/A
N/A
.. N/A
2,200
N/A
4,700
2,200
1,000
N/A
N/A
N/A
AD674AKD
Teledyne 7109
Harris 574AJD
Harris 674AJD
AMD2504,
LT311, AD565
LM331
LM331
ADVF32KN
On 574AKD
LM329BZ
On 574AJD
On 574AJD
On D/A Con.
LM399
LM399
AD584JH
D
D
S
S and D
S and D
D
D
D
AD7545KN
ADDAC80N
CBI-V
N/A
AD7548KN
ADDAC80Z CBI- DAC0800LN
V
N/A
AD390JD
AD644KH
On ADDAC80N
N/A
OP-07D
On ADDAC80Z
LM324
N/A
On AD390JD
The reference for the A/D converter is obtained from different components. Some boards use the reference available from the
A/D circuitry; others use an industry standard such as an LM399. The input protection on these boards is not really sufficient.
The decrease in gain of the Instrumentation Amplifier occurs before the — 3-dB
point. This effect should be considered to ensure that signal fidelity is maintained
throughout the system. As an example of reading this table, to maintain frequency
fidelity within one percent of the maximum, frequency should be no greater than
14.3 percent of the instrumentation amplifier’s — 3-dB gain point.
age signal. The successive approxima¬
tion A/Ds usually are packaged in a sin¬
gle 24- or 28-pin DIP and are mono¬
lithic or hybrid in construction. Most in¬
corporate the successive approximation
register, D/A converter, voltage refer¬
ence, comparator, and interface cir¬
cuitry in the same package.
A sample-and-hold amplifier, fol¬
lowed by a successive approximation
A/D converter, is very susceptible to
noise. When confronted with it, these
devices perform poorly, randomly sam¬
pling and converting the peaks and val¬
leys of the noisy signal. Software can
smooth the output data somewhat.
The integrating AID converter is an
alternative to successive approximation.
Although slower, this A/D provides
superior noise rejection and, in many
cases, higher resolution. It is the A/D of
choice, particularly in applications
requiring high sensitivity—less than 100
mV (millivolts) full scale. MetraByte,
Strawberry Tree, and Western Telecom¬
puting offer boards that feature inte¬
grating A/D converters.
Reference. The reference sets the overall
channel accuracy and stability for the
A/D. Its time and temperature drift
affect accuracy directly. Some boards
use the reference available in the A/D
converter itself. Others use off-the-shelf
references, such as National’s LM399.
Strawberry Tree is the only manufac¬
turer to specify time-related drift.
Bus control and interface. Data may be
obtained from the analog conversion
channel by polling the A/D converter
until a conversion-complete signal has
been received, then having the CPU
read the data. Note that in the IBM PC,
reading the data requires a minimum of
two fetches for A/D resolutions greater
than eight bits. Interrupts are some¬
times used to signal the CPU that the
A/D has valid data. The fastest method
of obtainment is to use a DMA channel
to grab the data directly from the data
acquisition card and put it appropriately
in memory. This, of course, requires
the least amount of time from the CPU.
Analog output. An analog output
channel consists of a reference, a D/A
TABLE 3: Maintaining Signal Accuracy
Required accuracy
1%
1LSB
1LSB
1LSB
1LSB
1LSB
Resolution of A/D
any
8
10
12
14
16
(in bits)
-3dB ratio
7.0
11.3
22.6
45.2
90.5
181.0
l/-3dB ratio
0.143
0.088
0.044
0.022
0.011
0.006
(digital-to-analog) converter, and an
output amplifier. Some companies com¬
bine all three components into one
package—for example, the industry
workhorse, output voltage Analog De¬
vices DAC80. The typical ranges are ± 3
V, ± 10 V, and 0 to +10 V. Output cur¬
rent is limited to 5 mA (milliamperes).
None of these boards supplies out¬
put protection other than short circuit
current limit. The D/A converter will be
destroyed if the output comes into con¬
tact with, for example, an external 18-V
power supply. The IBM and Data Trans¬
lation boards provide the proper com¬
pensation around their output ampli¬
fiers to tolerate up to 0.5-microfarad
capacitive loads. The D/A converters on
most other boards will oscillate with a
few thousand picofarads of load capaci¬
tance, especially when forcing negative
voltages. Even a few hundred* picofarads
of capacitance can cause ringing, and
the attendant long settling times that
this can produce.
Shielding the D/A converter out¬
puts is just as important as shielding the
analog inputs. Although the D/A con¬
verter output resistance is low at DC
(usually in the range of 0.1 ohms or
less), the output impedance increases
by a factor of 10 for each decade of fre¬
quency above 10 Hz. The D/A converter
is powerless against interference from
RF (radio frequency) sources, which is
more common than users might sus¬
pect. Typically the RF comes down the
unshielded D/A converter output and
into its amplifier. It is rectified by non-
linearities in the input stage and ap-
MAY1986
57
WE START WHERE OTHERS LEAVE OFF.
Speed Factor
Machine (Norton index)
PC-elevATor (i2.5MHz) 15.3
PC-elevATor (io.o mhz) 11.6
PC-elevATor (S.omhz) 9.2
COMPAQ DESKPRO 286 7.6
IBM PC AT _5/7
186 Boards 3.8
8086 Boards 2.0
COMPAQ DESKPRO _1/7
IBM PC XT 1.0
IBM PC 1.0
The World's FASTEST Accelerator Board.
PC-elevATor 286
2 megabytes RAM
80286
"If my primary tasks
centered around
calculation-bound programs,
such as 1 -2-3 or SuperCalc,
PC-elevATor would be a
clear winner in my mind."
BUSINESS SOFTWARE
January 1986
A powerful family of 80286
board products.
PC-elevATor! The ultimate plug-in
processor. Now with three versions
of the 80286 chip:
EAST - 8.0 MHz
FASTER -10.0 MHz
FASTEST -12.5 MHz
PC-elevATor. Outperforms all turbo
cards. And only with PC-elevATor
can you upgrade to a faster board
as your processing needs grow.
With up to 2 megabytes of on¬
board extended memory.
High-speed 16-bit RAM.
AboveBoard™ (EMS) support. RAM
disk. Disk cache. Print spooler.
Optional 80287 coprocessor. One
board is ali you need. PC-elevATor.
For PC compatibility, and more.
Boosts your PC, XT, AT, COMPAQ
or compatible to new speed limits.
Optimizes the 3270 PC, freeing a
full 640K for PC applications while
existing PC memory runs 3270
Control Program. Just plug and
run. No chips to remove. No
cables to connect.
"PC-elevATor is a formidable
information processor.”
PC WEEK, 9/24/85
"It pulverized the sorting, calcula¬
ting and search-and-replace tests."
BUSINESS COMPUTER SYSTEMS, January 1986
"A very speedy and promising
product. Screen handling is superb."
PC MAGAZINE, 11/12/85
Technical Features
• 8, 10 or 12.5 MHz 80286
• 5 or 8 MHz 80287 (optional)
• 1 or 2 Megabyte RAM (No Wait-states)
• Operates in tandem with PC
• Supports EMS/Above Board
• Includes RAM Disk, Disk Cache,
Print Spool
Call today to find out how the
PC-elevATor family can meet your
current needs and support your
future growth.
▲ APPLIED
REASONING
Applied Reasoning Corporation
765 Concord Ave., Cambridge, MA 02138
(617) 492-0700 telex: 6714194 elevator
CIRCLE NO. 200 ON READER SERVICE CARD
DIGITIZING
The design of each stage of the board has a significant effect on its overall performance. The reviewed boards did not supply all
aspects of this ideal situation. For example, the conversion time off the S/H contributes directly to the total throughput.
pears as a spurious DC offset voltage.
The D/A converter output changes as a
result of this phenomenon, and may be
hundreds of millivolts away from what
the user has programmed. It even may
change in relation to the user’s proxim¬
ity to the output (because of resultant
changes in the RF field).
Parallel and timer I/O channels. Parallel
I/O is usually limited to the industry-
standard 8255, or a couple of TTL (tran-
sistor-to-transistor logic) latches. Many
manufacturers supply termination
boards with optoisolated conversion for
AC voltage sense and control, or relays
for digital control of user-supplied
sense and control circuitry.
Timers are most often of the 8253
type: three 16-bit counter/timers in a
package. They are typically used for tim¬
ing A/D conversions, for the counting of
external inputs, or for the generation of
pulse widths. A realtime clock is of mar¬
ginal use, excepting those applications
that require unattended operation.
Several boards have their I/O con¬
nectors (both analog and digital) sprin¬
kled across them. It is quite a task to
connect the multiplicity of cables and
thread them. When the cables are con¬
nected and threaded through the cable
opening, many invectives are generated.
More importantly, stringing unshielded
digital I/O cables across the top of sen¬
sitive analog circuitry is asking for trou¬
ble. The better data acquisition boards
(IBM, Data Translation, MetraByte) have
a single connector at the proper end.
The user simply installs the board and
hooks up his cable.
The cable or cables also contribute
to the characteristics of the analog I/O.
Unshielded ribbon cable adds approxi¬
mately 14 pF per foot of capacitance to
the I/O line, shielded cable about 25 pF
per foot. The user must be aware of the
length of the I/O cables and of the adr
ded capacitive load they provide.
A final consideration regarding I/O
cables applies to all of the boards ex¬
cept IBM’s: when the user connects the
I/O cables to the data acquisition board,
he nullifies precautions the PC manufac¬
turer took to keep RFI (radio frequency
interference) and EMI (electromagnetic
interference) inside its covers. For
example, if he hooks up three-foot I/O
cables, the PC becomes a broadband
radio station with a three-foot antenna.
The user must be aware of relevant FCC
regulations and take appropriate meas¬
ures to curb interference.
Calibration. The user should calibrate
the data acquisition board upon its arri¬
val. Another calibration should take
place after one month, then yearly. The
bulk of time-related drift occurs within
the first 1,000 hours. Calibration usually
requires equipment unavailable to the
average user. For 12-bit systems, a DC
voltage calibrator with overall accuracy
better than 60 ppm (parts per million)
is mandatory. This, used in conjunction
with a 5^-digit DVM (digital volt meter),
should be sufficient.
Many of the boards will require
recalibration should the A/D or D/A
ranges be changed or the instrumenta¬
tion amplifier gain altered. A prudent
measure for any set-up is to dedicate
two of the analog input channels for
autozero and autocalibration. Software
then can provide the necessary cor¬
rection. The autozero channel simply
connects to analog ground, thereby
measuring the channel offset. The
autocalibration channel connects to a
known reference (a user could design
his own based on an aged LM399 from
National) for calculating the overall
channel gain. Both time- and tempera¬
ture-related accuracy dependencies can
be corrected using this technique.
Software. Three software-related items
should be available with each board.
First, the instructions should show how
MAY 1986
59
DIGITIZING
TABLE 4: Summary of Electrical Characteristics
BURR-BROWN
20002 20019
20017
DATA TRANS.
DT2801-A
IBM
BOARD
INPUT RESISTANCE (Ohms)
109
10 6
10 10
10 8
10 8
INPUT CAPACITANCE (pF)
Channel on
Single-ended
50
25
N/A
100
N/A
Differential
30
N/A
20
100
200
Channel off
5
5
20
10
200
OFFSET VOLTAGE
Trim
Trim
Trim
Trim
Trim
OFFSET VOLTAGE CHANGE WITH TEMPERATURE
CHANGE (ppm/degree C)
All gains
—
+/-15
—
47—20
47-24
Gain=l
47-110
—
2
—
—
Gain=10
47-20
—
6
—
—
Gain=100
47-20
—
50
—
—
Gain=1,000
47—20
—
500
—
—
INPUT BIAS CURRENT (nA)
47-30
47-300
47-50
47-20
+/-300
INPUT BIAS OFFSET CURR. (nA)
47-30
N/A
47—2.5
47-20
+/-300
GAIN CHANGE WITH TEMPERATURE
CHANGE (ppm/degree C)
All ranges (min/max values)
47—75
47-30
47-10 to
47-30
47-35
47-32
Linearity (percent)
All gains
—
47-0.01
—
<0.01
<0.02
Gain=l
+/-0.04
—
47-0.03
—
—
Gain=10
+/-0.04
—
47-0.03
—
—
Gain=100
+/-0.05
—
47-0.05
—
—
Gain=1,000
COMMON MODE REJECTION
+/-0.065
—
47-0.1
—
—
RATIO (DC) (dB)
All gains (min/max value)
80/106
N/A
70/90
80
72
CHARGE INJECTION (pC)
10
10
N/A
10
150
“When 50-mV channel selected. 1CP Ohms.
c Except 50-mV range, when it is +/-10 ppmm/degree centigrade.
b Isolated from inputs by > 100-Kil resistors.
d Effects swamped by 0.01-microfarad capacitor at input.
TABLE 5: Summary) of Digital-to-Analog Characteristics
BURR-BROWN DATA TRANS. IBM
20003 20006 DT2801-A BOARD
ACCURACY
Trim
Trim
Trim
Trim
RESOLUTION
12
16
12
12
FAULT PROTECTION
No
No
No
No
MAX. LOAD CAPAC. (nF)
0.5
0.5
500
500
OFFSET DRIFT WITH TEMP, (ppm/degree C)
47-60
47-10
47-30
4-/-24
GAIN DRIFT WITH TEMP, (ppm/degree C)
47-80
47-25
47-30
47-35
a Maximum variation is within the overall accuracy specification of 10 percent.
to interface to the board at the lowest
software level; that is, all of the ports
the board uses for control and I/O
should be discussed thoroughly, and
examples should be provided.
Second, software drivers that pro¬
vide functions for access by a reason¬
able number of high-level languages
should be included. Of course, the user
should be sure a particular language is
supported before purchase.
Third, the package should include
a menu-driven control program that
would enable the user to perform some
simple tasks to ensure the board’s func¬
tion independent of the rest of the sys¬
tem. This would serve two purposes: as
an initial check when the user first
obtains the board and as a debugging
aid in interfacing to the real world.
None of the manufacturers supplies
all three elements. For that matter,
none seems to offer complete software
control over its hardware. Range
changes, gain changes, and measured
quantity (voltage, current, or resistance)
were, for the most part, set by switches
or jumpers on the data acquisition
board inside the PC. No read-back capa¬
bility is included for determining the
resultant board configuration. In a dedi¬
cated use, where the board configura¬
tion is set for good upon installation,
this is not a problem. In general use,
however, or when more than one user
is involved, each user must check the
position of all jumpers and switches.
Technical assistance. All of the manufac¬
turers except IBM provided prompt
telephone technical assistance. The rep¬
resentatives seemed capable of handling
all software-related questions. However,
60
PC TECH JOURNAL
METRABYTE
DASCON 1
DASH 8
DASH 16
SCIEN. SOL.
LAB MASTER
STRAWBERRY TREE
ACPC-14-16 ACPC-16-16
WEST. TEL.
1CIS
10 10
10 10
109
1Q8
200,000 a
200,000 a
10 7
N/A
25
50
100
N/A
N/A
N/A
25
N/A
30
100
10,000 b
10,000 b
55
10
5
5
10
10,000
10,000
5
Autozero
Trim
Trim
Trim
See text
See text
Autozero
Autozero
+/-10
+/—12
+/—20
See text
See text
Autozero
1
100
10
47—20
10
10
4-/-100
1
N/A
2
47-20
1
1
47-35
47—25
+/—25
47-25
47-35
4-/—100°
47—100 c
4-/-100
+/-0.01
+/-0.02
+/-0.02
<0.01
4-/—0.04
4-/—0.04
47-0.01
60
N/A
90
80
50/110
50/110
70/110
10
10
10
10
—A
_d
10
The manufacturers’ specifications quote the input characteristics of the board for a zero input impedance. The actual value
should be recalculated for the nonzero value of a given application. The change injection value for the IBM board is compara¬
tively high. The voltage offset and voltage drift with temperature are not specified separately for the Strawberry Tree boards.
METRABYTE
DASCON 1
DASH 8
DASH 16
SCIEN. SOL.
LAB MASTER
STRAWBERRY TREE
ACPC-14-16 ACPC-16-16
WEST. TEL.
IC1S
Trim
N/A
Trim
Trim
10%
10%
0.1%
12
N/A
12
12
8
8
12
No
N/A
No
No
No
No
No
0.5
N/A
0.5
0.5
0.5
0.5
0.3
47-10
N/A
47-5
10
—a
-a
10
47—30
N/A
47-10
30
- a
- a
10
The D/A output characteristics show a variation in the maximum load capacitance that can be applied without ringing.
only a few could provide answers when
the inquiries turned to analog circuitry,
specifications, or interfacing.
INTERNAL ACQUISITION
Some of the manufacturers represented
here offer more than one data acquisi¬
tion product or combination of ele¬
ments. As mentioned previously, tables
1 and 2 capsule the boards’ basic fea¬
tures and significant components,
respectively. In addition, table 4 sum¬
marizes their electrical characteristics,
and table 5 lists their D/A attributes.
Tests were conducted using an
Electronic Development Corporation
DC Voltage Calibrator, with an overall
accuracy to within 20 ppm, a Keithley
191 5^-digit DVM, and a Hewlett-Pack¬
ard 3320B Frequency Synthesizer. All
tests were conducted at room tempera¬
ture and nominal humidity.
Burr-Brown. The Burr-Brown modular
system occupies at least Hfc card slots;
in most cases, 2 slots are required. It is
the most flexible system, offering a
range of modules and termination
boards. (See photo A.)
Although only the motherboard
interfaces to the PC edge connector, the
daughterboards hang over enough so as
not to allow another card to be plugged
in. The motherboard is sparse: its only
components are two 82C55 parallel I/O
ports, a DC-to-DC converter ( + 5 to
± 15 V), and some TTL logic gates; and
it is memory-mapped. Connectors
across the top of the motherboard
accommodate three data acquisition
daughterboards in a mix-and-match
approach, for hardware customization.
Each daughterboard is 3-9 inches
MAY 1986
61
Multi-User
Database
For Five Years
DataFlex versions are available
for all popular single-user and multi-user
operating systems, including Xenix.
For a free copy of this poster
(minus ad copy), write Data Access Corp.
or leave a message on our
Bulletin Board System: (305) 238-0640.
DATA ACCESS CORPORATION
8525 S.W. 129th Terrace-Miami-FL-33156-6565 (305) 238-0012-Telex 469021 DATA ACCESS Cl
circle no. 118 on reader service card See us at COMDEX Booth #4032
DIGITIZING
TABLE 6: IA BW Limit of20002 Module I TABLE 7: IA BW Limit of20019 Module
GAIN
1% ACCURACY
1 LSB ACCURACY
1
71.0 KHz
11.0 KHz
10
21.0 KHz
3.3 KHz
100
4.3 KHz
663.0 Hz
1,000
342.0 Hz
53.0 Hz
GAIN
1% ACCURACY
1 LSB ACCURACY
1
43.0 KHz
6.6 KHz
10
4.3 KHz
663.0 KHz
100
427.0 KHz
66.0 Hz
1,000
43.0 Hz
6.0 Hz
The limited BW in the IA section of this Burr-Brown module This Burr-Brown module also has a limited BW. Because the
limits the sampling frequency. This, coupled with the low LA cannot be bypassed, this places a limit on the maximum
slew rate of the IA, gives a worst-case limit of 3.2KHz. signal frequency that can be accurately collected to 1.6 KHz.
square and contains an identifier that
can be read by software for a simple
installation. One nice design feature of
this system: the motherboard and all
daughterboards are of four-layer
construction. This greatly attenuates
PC-induced noise.
The motherboard reviewed
(20001C-2) comes with 32 digital I/O
ports. The digital I/O lines provide nor¬
mal LSTTL input and output drive lev¬
els. Another motherboard is available
without this option (20001C-1). Injudi¬
ciously, the digital I/O connectors are
located at the far end of the board, and
the nonshielded cables that connect
them to the outside world must travel
across each of the analog modules. This
increases the amount of digital noise
pickup by these modules. Although in¬
stallation of the modules into the
motherboard and motherboard into the
PC is easy, the routing of more than
one shielded I/O cable through the
back panel is cumbersome. All of the
termination panels were of simple
printed circuit boards, and mounted on
standoffs. Each had sufficient area for
supplementary interface circuitry.
Seven Burr-Brown modules were
reviewed. Three others are available: a
trigger alarm module that can initiate
conversions, a digital I/O board, and the
20021, which provides eight channels of
analog output by multiplexing a single
D/A converter.
The 20002 Analog Input Module is
a 16-channel, single-ended or eight-
channel differential input 12-bit A/D sys¬
tem. The input multiplexers are Burr-
Brown’s version of the Harris 308 (BB
MPC8S). An instrumentation amplifier
(Burr-Brown PGA200) gives program¬
mable gains of 1, 10, 100, and 1,000. It
is followed by a National LF398A sam-
ple-and-hold that feeds a Harris 574AKD
12-bit A/D converter. The total conver¬
sion time for a given signal ranges from
40 microseconds for a single channel to
83 microseconds for multiple successive
channels when using unity gain. A gain
of 1,000 requires slowing the overall
conversion time to 753 microseconds.
Total conversion time increases as the
gain increases due to the necessary set¬
tling time in the instrumentation ampli¬
fier. Note that although the offset can
be trimmed to zero for each gain, ap¬
propriate compensation must be made
in the software (or a channel must be
designated for autozero) if more than
one gain range is used. Tests revealed
that the gain does not have to be
tweaked between ranges, because the
gain inaccuracy is only 0.02 percent on
each range. The A/D range can be
changed by jumper for -5 to +5 V, 0
to +10 V, and -10 to +10 V.
Offset voltage drift is 100 ppm per
degree centigrade (approximately ^
LSB) for unity gain. This improves dra¬
matically, to 20 ppm, for the other gain
ranges. The linearity inaccuracy of the
programmable gain amplifier showed a
loss of about two bits of the A/D resolu¬
tion. Users should note with caution
that the high bias current shown with
testing could cause significant measure¬
ment errors even with small source re¬
sistances. On the gain-of-1,000 range, a
1.6-KH source impedance displayed an
offset of 1 percent of the range. Even
though this module’s I/O cable is
shielded, tests showed ten counts of
noise on the gain-of-100 range and four
counts of noise on a gain of 10. This is
a good argument for not using higher
gains inside the PC in conjunction with
successive approximation converters.
The module is capable of con¬
verting a single channel in 31 micro¬
seconds. However, testing showed that
the limited bandwidth in the instrumen¬
tation amplifier limits the maximum
conversion frequency (see table 6). In
addition, the relatively sluggish slew
rate of the instrumentation amp (0.4 V
per microsecond) limits the maximum
signal frequency for a full range input
(20 V peak to peak) to 3.2 KHz.
The 20005 Analog Input Expansion
Module, which consists of four Harris
508A multiplexers, is configurable to
give an additional 32 single-ended or 16
differential input channels. Input capaci¬
tance ranges from 5 pF off channel to
30 pF on. Input leakage current is
below 100 pA for both on and off con¬
ditions; however, the user should re¬
member that this will double every 10
degrees centigrade.
Providing a means to grab four
channels of data simultaneously without
the accompanying time skew is the
20017 Sample-and-Hold Module. Each
of the four National LF398A sample-and-
holds is preceded by a Burr-Brown
INA102G instrumentation amplifier.
Gains of 1, 10, 100, and 1,000 are avail¬
able by jumper selection. The user must
recalibrate when changing gains
because the tested gain inaccuracies
range from 0.1 percent to 0.75 percent.
Nonlinearity is worst on the gain in the
1,000 range: 0.1 percent. The input bias
current is ± 50 nA (nanoamperes)—
which puts it on the high side. The low
bandwidth of the instrumentation
amplifiers severely limits the maximum
frequency that the module may accu¬
rately acquire (see table 7).
Unfortunately, bypassing the instru¬
mentation amplifiers and feeding the
signal directly into the sample-and-
holds is not possible. The abysmal slew
rate of the instrumentation amplifiers
limits the maximum signal frequency
for a full range input (20 V peak to
peak) to 1.6 KHz.
The 20019 High Speed Data Acqui¬
sition Module sports a fast monolithic
sample-and-hold (Teledyne Philbrick
4866) followed by a 10-microsecond
conversion time A/D (Burr-Brown
ADC84KG). The input is multiplexed by
a Harris 508A providing eight single-
ended input channels. The input resis¬
tance was measured as 1 MD
(megohm) and the bias current was 100
nA, as the manufacturer specifies. This
definitely is a module for use with low
source impedances for high-frequency
applications. Throughput can be as high
as 87,000 samples per second. Both
gain and offset drift are generally negli¬
gible. The 2-MHz gain bandwidth of the
sample-and-hold permits 1 LSB accuracy
to 44 KHz. Gain and offset should be
readjusted if the jumpers are configured
MAY 1986
63
DIGITIZING
The modular system of the Burr-Brown product (photo A) enables the user to
create configurations for specific applications. The addition of these modules
makes the board overhang the adjoining slot such that it is not possible to put in
another card. In photo B, the Data Translation module that contains the A/D con¬
verter is apparent on the data acquisition board. This module also is used by Scien¬
tific Solutions (photo E inset), but on the LAB MASTER, the module is in the exter¬
nal connection box, not on the main board. In photo C, the shielding of the cable
on the IBM configuration extends onto the board, making a true shielded system.
None of the other boards has this essential feature. This board’s I/O connector is at
the logical end so that analog signal lines do not cross circuitry unnecessarily.
for an alternate range—those available
are ±2.5 V, ±5 V, ± 10 V, 0 to +5 V,
and 0 to +10 V full scale.
Burr-Brown’s 20003 and 20006 are
Dual D/A Converter Analog Output
Modules with 12- and 16-bit resolution,
respectively. The 20006, however, is
accurate and monotonic in nature over
a 14-bit range because it uses a Burr-
Brown DAC709. Its drift is in the range
of a few LSBs per degree centigrade.
On the 20003, the temperature drift of
the Burr-Brown DAC811 is negligible.
The user must not load the output with
more than 500 pF of capacitance (cable
plus load) in order to prevent ringing
and possible oscillation. Both modules
can force 0 to 10 V, -5 to +5 V, and
— 10 to +10 V, jumper selectable.
Output current is limited to ± 5 mA.
Both modules require recalibration
when changing ranges.
The 20007 Counter/Timer/Pulse
Generator Module supplies four general
purpose, 16-bit counter/timers and a
flexible rate generator with an output
frequency of from 0.002 Hz to 2 MHz.
All inputs and outputs are TTL compati¬
ble. This device also can serve as a use¬
ful time base generator for A/D mod¬
ules on the same motherboard. The
module is built around two 8254 coun¬
ter timer chips that use an 8-MHz crys¬
tal as their main time base.
One price the user pays for mod¬
ular flexibility is the amount of flipping
necessary in using the documentation—
from the software section, to the infor¬
mation on the motherboard, then back
to the details on a particular module,
and finally to the description on the ter¬
mination panel. Even so, the informa¬
tion is clearly written. Each module
manual provides sufficient information
for the user to write low-level drivers.
Burr-Brown supplies an 8^-by-ll
binder that accommodates the separate
information packets.
The company’s software interface
consists of high-level support routines
for BASIC, C, and Turbo Pascal. More¬
over, sufficient information is provided
on the lower-level mechanisms of inter¬
facing to these drivers to make it pos¬
sible to use them with assembly lan¬
guage. The 22 support routines share
common ancestry, which makes it con¬
venient for the user who programs in
multiple languages. He must be careful,
however, to load the correct driver for
the language in use. This is accom¬
plished by running the appropriate pro¬
gram one time upon powering up. The
manual includes six sample programs
in each of the three supported lan¬
guages, with excellent documentation.
64
PC TECH JOURNAL
PHOTOGRAPHS • DAVID ARKY
Technical questions are fielded by
an apparently knowledgeable and ener¬
getic staff. Burr-Brown was one of the
few manufacturers that could provide
answers to analog-related questions.
Data Translation. An Intel 8742 helps to
control the Data Translation data acqui¬
sition board: the DT2801-A exhibited
the fewest design flaws of the products
reviewed and its performance was quite
acceptable. A total of 16 single-ended or
eight differential 12-bit analog input
channels, two 12-bit analog output
channels, and 16 parallel I/O lines are
packed onto the card. A variety of ana¬
log input options are available by
changing the analog input module. The
reviewed board contains Data Transla¬
tion’s DT5712-PGH module with four
programmable gains: 1, 2, 4, and 8 (see
photo B); the DT5712 module itself is a
shielded enclosure for the A/D, an ex¬
cellent precaution. (More on the
DT5712 module is provided in the dis¬
cussion of Scientific Solution’s system.)
The maximum throughput to mem¬
ory was specified as 27,500 samples per
second. Overall input accuracy is ± 0.05
percent for any gain, and gain and off¬
set drift with temperature is negligible.
Tests showed that the high bandwidth
of the limited gain instrumentation
amplifier provides for accurate perform¬
ance up to the Nyquist rate (13 KHz).
Tests also revealed that the D/A
channels are compensated for capacitive
loads to 0.5 microfarads. As usual,
changing the range requires recalibra¬
tion. Drift in offset and gain is roughly
1 LSB per 10 degrees centigrade.
The board installs easily. The three-
foot unshielded ribbon cable connects
to the card and the terminal printed
circuit board, mounted on rubber feet.
The terminal card brings out the signals
to barrier strip screwdriver connections.
Space is provided for an optional cold
junction sensor. This is of limited value,
however, because no isothermal plate is
present to keep the sensor at the same
temperature as the connections.
Two manuals are packaged with
the board. The first details hardware
aspects, low-level programming, and
programming in BASIC. The second is
the user manual for the pclab machine
language routine library; it provides
high-level functions for BASIC, C,
FORTRAN, Turbo Pascal, and assembly
language. Neither manual has an index,
and page flipping becomes the rule;
however, the information is complete
and clearly written.
The lowest level of programming
requires sending a command byte fol¬
lowed by optional parameter bytes to
The MetraByte DASH 16 board (photo D) has a four-layer construction with excel¬
lent ground planes around the components. This is a simple and effective method
of reducing noise that is not employed by all of the manufacturers reviewed. The
disc ceramic capacitors that are used on the Strawberry Tree Acquisition Board in
photo F are a surprising design choice. Their temperature stability is not really
suitable for this type of application. The Western Telecomputing board pair (photo
G) does not have a solder mask, an unusual and substandard printed-circuit board
fabrication omission. This set is designed for a slightly different purpose than the
other boards reviewed. It can be used in unattended mode for applications with a
slow conversion rate (meteorological, for example).
MAY 1986
65
DIGITIZING
the on-board microprocessor; the board
implements 16 pseudocommands. The
high-level functions are condensed into
a series of these low-level commands to
the 8742. In every case, a brief time
delay takes place between when the
command is sent and when the board
has been configured by the 8742. Time-
sensitive measurements should take this
into account and use hardware initia¬
tion of tasks whenever possible. Direct
access to the A/D, D/A, digital I/O, and
timer functions is not possible.
As is the case with all of the
boards, programmed data transfers of
more than 2,000 per second require
turning off the PC’s time of day clock so
that the CPU can orchestrate the data
transfer without interference.
Data Translation offers technical as¬
sistance, but it seems limited. Analog
questions that could be researched in
the company’s better-than-average speci¬
fications were handled easily. Tougher
questions present a challenge.
IBM. The IBM Data Acquisition Board
offers four differential channels of 12-
bit analog input, two channels of 12-bit
output, 32 parallel I/O lines (16 input
and 16 output), and an Intel 8253 for
counter/timer applications. Conversion
from A/D to memory is specified as
15,000 conversions per second.
This was the only board reviewed
that maintained shielding from the
printed circuit board to the terminal
box (see photo C); however, the con¬
necting cable is not keyed, so the user
must trace to the terminal box to locate
pin 1 on the cable and properly attach
it to the connector on the data acquisi¬
tion board edge. Aside from this, instal¬
lation is easy. The terminal box is a
printed circuit board with barrier strip
screwdriver connections inside a sheet
metal box. The data acquisition board
itself has a four-layer design, but there
is little evidence of ground planes
around the analog circuitry.
Each of the four differential input
channels is protected by 10-KH input
resistors and diode clamps to the sup¬
plies. The Mialog Devices 7502 multi¬
plexer is followed by a Texas Instru¬
ments TL064 buffer amplifier before
feeding an AD583K sample-and-hold
that doubles as the differential ampli¬
fier. The 7502 gave the highest charge
injection of all the boards reviewed: 150
pC; the system’s overall accuraq' was
within 1 LSB, 0.025 percent; and input
bias current was measured as high as
300 nA, which is rather large.
IBM’s four input channels are too
few for general purpose use. If an ap¬
plication calls for autocalibration and
autozeroing, the user is left with only
two input channels. Recalibration is
necessary when changing (by dip
switch) between the ranges of 0 to
+ 10 V, -5 to +5 V, and -10 to +10 V.
The two D/A channels are con¬
structed from 12-bit Aialog Devices
AD7545KN D/A converters followed by
AD644KH operational amplifiers. The
reference for each channel is stolen
from the A/D converter. Output ranges
are 0 to +10 V, -5 to +5 V, and -10
to +10 V, and require recalibration
when changed. IBM does compensate
its output amplifiers to accommodate
capacitive loads to 0.5 microfarads.
Two 34-pin ribbon cable con¬
nectors located on the board for IBM’s
expansion bus will accommodate data
acquisition products that are as yet
unreleased. The package includes a
well-documented software manual and
\bM’s board maintains
shielding from the printed
circuit board to the terminal
box; but the connecting ca¬
ble is not keyed, so the user
must do some tracing.
a fine hardware technical reference
manual. IBM has included a full sche¬
matic and a generally excellent discus¬
sion of circuit operation.
IBM supplies 15 functions for use
with BASIC, C and FORTRAN. A device
driver, included for loading at boot
time, requires only a simple addition to
the user’s CONFIG.SYS file. The func¬
tions share a common heritage, so
changing from language to language
goes very smoothly. The technical man¬
ual provides information to enable the
user to write his own low-level drivers.
Requesting technical information
from IBM was difficult; it involved a lo¬
cal dealer and the representatives an¬
swering at the IBM information num¬
ber. In the end, the answers supplied
were incorrect or not to the point.
MetraByte Corporation. Three of this com¬
pany’s data acquisition cards were con¬
sidered. Ml three have 37 pin-D con¬
nectors for connection to the outside
world, making their installation easy,
and all three are I/O mapped, with the
address selectable by DIP switch. An
unshielded ribbon cable connects the
card to a plastic terminal box which
contains binding posts and some auxil¬
iary circuitry mounting space.
The half-card dash 8 accepts eight
single-ended analog input channels
through its Harris 508A multiplexer. A
National LF398 performs the sample-
and-hold and a Harris 574AJD A/D con¬
verts the data. It is permanently config¬
ured for a -5 to +5 V range. Conver¬
sion time of the A/D is a maximum 35
microseconds, and its overall accuracy
is specified as 0.034 percent. Acquisition
time of the sample-and-hold typically is
15 microseconds. Its input current was
rather high at 100 nA maximum, and its
gain and offset voltage drift are negli¬
gible. The sampling error is slightly
larger than for other boards. For exam¬
ple, at an input slew rate of 0.002 V per
microsecond, it is 1 bit. If the input is a
10-V peak-to-peak signal at 32 Hz, the
sampling error will be an additional bit.
The board also contains eight bits
of I/O (four input and four output) and
an 8253 counter timer (three 16-bit
channels), and it can interrupt the PC
on INT 2 through 7, jumper selectable.
The dash 16 full-size card gives 16
single-ended or eight differential input
channels to its 12-bit A/D (Harris
674AJD), two D/A channels, parallel I/O
of four lines each input and output, and
a three-channel, 16-bit timer/counter
(Intel 8253). Conversions may take
place at a rate of 35,000 per second on
a single channel. The board has a
four-layer construction with excellent
ground planes (see photo D) surround¬
ing the analog input section.
The card’s multiplexers are the
ever-popular 508A, and the sample-and-
hold is National’s LF398. Its acquisition
time and sampling error are the same
as that for the dash 8.
The dash 16 has switch-selectable
gains of 0.5, 1, 2, 5, and 10, although
the board requires calibration when
gain is changed. The instrumentation
amplifier is PMI’s AMP-01, which yields
ranges from ±0.5Vto ±10V bipolar
and +lVto+10V unipolar. Gain
peaking of the lower gains is quite
noticeable in the 10 KHz range (see the
comment below in the discussion of the
EXP 16). The user should not expect
better than 1-percent accuraq' for fre¬
quencies above 5 KHz. Its data transfers
from AD to memory can be pro¬
grammed or under DMA control; its
overall accuracy at DC is 0.034 percent.
Input current was measured as 10
nA. The specifications showed that the
gain drift and nonlinearity are negligi¬
ble. Offset voltage drift can be as high
as 16 LSB per degree centigrade.
66
PC TECH JOURNAL
The D/A channels are 12-bit Analog
Devices AD7548KN followed by PMI
OP-07s; loading the outputs with more
than a few hundred picofarads is not
recommended. A unique feature of this
board is that the input to the D/As can
be either an on-board reference voltage
for normal output voltage generation or
a user-supplied signal. This could be
used as an AC signal amplitude control,
for example. Both gain and offset drift
with temperature are negligible.
MetraByte’s dascon i is the low-fre¬
quency (30 conversions per second) in¬
tegrating A/D cousin of the above two
boards. Each of the four input channels
is protected to 120 V RMS and multi¬
plexed by a CD4052. Full-scale input
voltage is ± 2.0475 V. The A/D is a Tele¬
dyne 7109, 12-bit A/D, and sign con¬
verter. Its accuracy is 0.034 percent.
Gain and offset drift are negligible and
input current is 1 nA maximum. The
reference is a National LM329BZ.
Two of the input channels are con¬
figurable as RTD (resistance tempera¬
ture detector) inputs, with built-in 1-niA
current source. The other two channels
may accept optional National LM363
instrumentation amps for gains of 10,
100, and 1,000. Input current then in¬
creases to a maximum of 10 nA. Instru¬
mentation amplifier gain cannot be
trimmed (except to within 1.5 percent);
the user will need to calibrate with a
known voltage and handle compensa¬
tion in the software. Offset voltage can
be trimmed, but it can drift a maximum
of 10 LSB per degree centigrade. The
common mode voltage range is on the
low side: -2.7 to +3.8 V.
The board is made complete with a
battery-backed realtime clock, 12 bits of
parallel I/O, and two D/A channels
(Analog Devices ADDAC80NCBI-V).
Light capacitive loading (less than 1,000
pF) is recommended. As with the other
boards, the D/A converters require
recalibration if their range is changed.
The EXP 16 is a 16-analog-input ex¬
pansion interface PC board that can be
daisy-chained and is mounted on stand¬
offs. It can be used with the dash 8 or
the dash 16 . Although a thermal sensor
is present on the 4.7-by-8-inch board, it
is not in intimate thermal contact with
the terminal blocks. The board contains
two Harris 506A multiplexers and a PMI
AMP-01 instrumentation amplifier. Eight
switch-selectable gains from 0.5 to 1,000
configure the overall gain for all chan¬
nels. Gain and offset will have to be
tweaked whenever the gain range is
changed. Settling time to 0.01 percent
varies from 12 microseconds for low
gains to 50 microseconds for a gain of
1,000. The PMI AMP-01 gain versus fre¬
quency is adequately controlled for all
except unity gain. In that case, the user
should be cautious if the frequency of
the input signal exceeds 10 KHz. The
PMI AM P-0 l’s frequency response has a
5-dB peak at 100 KHz. In fact, signals at
10 KHz showed three-percent peaking
relative to a 1-KHz signal. The board is
delivered with 8-FIz filters on all input
channels; the filters consist of a 10-Kfl
resistor from each of the inputs, which
are bridged by a 1-microfarad capacitor.
Each channel on the board requires a
170-millisecond settle time to 1 LSB.
Nonlinearity of the PMI AMP-01 is
nearly nonexistent, as is gain and offset
voltage drift, except for the gain 1,000
range. There, the offset voltage drift can
be ^ LSB per degree centigrade.
The documentation on all three
data acquisition boards is clear and well
I \e LAB MASTER outputs
are not protected and supply
only 5 to 10 mA of output
current. When loaded with a
few thousand picofarads of
capacitance, they oscillate.
presented. MetraByte goes so far as to
offer assistance, albeit limited, on inter¬
facing and grounding applications. The
only omission is an adequate referenc¬
ing of the programs on the accompany¬
ing disk. As it is, the user must load and
list each one, and read the comments,
to find out what each program does.
Compared to other documentation,
the EXP 16 manual is shockingly inade¬
quate. MetraByte installed 8-Hz filters
on all channels, yet the specifications
call for the board to be without filters.
No instructions are included for remov¬
ing the filters (which requires desolder¬
ing), and the user must trace circuitry
on the board to determine which com¬
ponents require removal.
BASIC was the language of choice
with these products. The drivers are
loaded using either a BASIC program
called LOADCALL or by placing a stan¬
dard header at the beginning of each
applications program. The interface to
the drivers is accomplished through
BASIC CALL statements. All three cards
interface to BASIC in the same way. The
dash 8 and dash 16 provide 17 high-level
commands, the dascon i provides 10.
Sufficient information is provided to in¬
terface to the cards with user-supplied
low-level software. Source code is avail¬
able for the drivers, permitting the user
to interface to other languages. BASIC
programs were included for thermo¬
couple linearization and for graphing
results of data logging. The source code
is accessible for all routines.
MetraByte’s technical assistance was
minimal in dealing with analog-related
questions, but response time was good.
Scientific Solutions. The Scientific Solu¬
tions lab master, previously known as
the Tecmar lab master, was reviewed by
PC Tech Journal in March 1984 (see
“Digital-to-Analog, Analog-to-Digital,”
Peter G. Aitken, p. 104). The basic
board that fits inside the PC accommo¬
dates the 24 parallel I/O lines (an Intel
8255), the counter/timer, and the two
D/A channels. An unshielded ribbon ca¬
ble connects the data acquisition board
to an external sheet-metal-and-plastic
box that contains the A/D section. Con¬
nections to the A/D are made at ribbon
cable connector headers.
The A/D in the outside box re¬
viewed is a 12-bit Data Translation
DT5712 module capable of 30,000 con¬
versions per second (see photo E). The
module contains a straightforward suc¬
cessive approximation A/D converter
built around an AMD 2504 successive
approximation register, an Analog De¬
vices 565 D/A, and a Linear Technology
311 comparator. The input multiplexers
are Harris 508As, and the instrumenta¬
tion amplifier is built around PMI OP-15
operational amplifiers. The IA is fol¬
lowed by a National LF398A sample-and-
hold. The PMI OP-15 consists of preci¬
sion BIFET (bipolar and field-effect
transistor on the same IC) operational
amplifiers with bias current in the
picoampere range; leakage current of
the input multiplexer, however, brings
the input bias current at the module
inputs up to the nanoampere level.
Potentiometers are situated on the
module for adjustment of offset and full
scale gain, but the manual does not
address the subject of calibration.
The D/A converters on the board
are Analog Devices DAC80s. These 12-
bit converters are industry workhorses
that consist of a conventional voltage
reference, a resistor ladder, current
switches, and an output amplifier. The
outputs are not protected (other than
the output amplifier short circuit cur¬
rent limiting) and can supply only 5 to
10 mA of output current. When loaded
with a few thousand picofarads of
capacitance, they produce undesirable
MAY 1986
67
Now dBASE
is bilingual
Announcing a second language
for dBASE.®
C.
Now you can add richer, faster
features to the dBASE you know and
love withMBASE Tbols for C™”
So you can continue to program
in the dBASE programming lan¬
guage, and yet have state-of-the-art
calc speed and unique fast-painting
graphics.
Here’s your tool kit:
A basic engine that links C,
special C libraries, and your own
C functions to dBASE applications.
(It supports Lattice® C, Microsoft® C,
and Manx Aztec™ C.)
Arrays management and a C
library of financial, mathematical,
and statistical functions come with
the Programmer’s Library.
And the Graphics Library
includes interactive business graphics
TYademarks/owner: Ashton-Tate, dBASE/Ashton-Thte. Microsoft/Microsoft, Inc.; Lattice/
Lattice, Inc.; Aztec/Manx Software Systems Inc.
© 1986 Ashton-'Me. All rights reserved. Specifications subject to change without notice.
like bar graphs, pie charts, exploded
pie charts, marked point graphs, line
charts, and XY charts.
Tb order, for the name of your
nearest dealer, or for more informa¬
tion, call the Ashton-Tate Publishing
Group at 800-437-4329, Ext. 241.
Sure you need C to be on the
leading edge.
But you don’t have to give up
dBASE to get it.
dBASE
TOOLS
The PROGRAMMER’S
LIBRARY
A C-to-dBASE Link Thai Includes Ready-to-Use
C Routines for Finance. Statistics, and Programming.
Aashtcn-txit
CIRCLE NO. 134 ON READER SERVICE CARD
DIGITIZING
oscillation. As with all of the reviewed
boards, the oscillation occurs more
readily when the D/A converter is forc¬
ing a negative voltage. This is caused by
the output amplifier. Conventional
operational amplifiers use lateral PNP
transistors in their output stages for
swinging down to the negative supply.
These PNPs have low bandwidth (ft)
and decrease the phase margin of the
overall amplifier when they are active.
Both D/A converters require recalibra¬
tion when the ranges are changed.
Ranges can be changed only by
on-board jumpers.
The counter timer used (AMD
9513) is probably the best available all¬
purpose timer for general laboratory
applications. Enormously versatile (to
the point of confusion), this device can
handle nearly any rate or frequency
output transducer or counting and tim¬
ing needs the user may have.
The manual covers the lab master
in all of its forms, including the 14- and
16-modular converters that can replace
the 12-bit module. The material was
confusing to follow in setting up the
system, and the manual was just as diffi¬
cult to use when looking up informa¬
tion. Programming help consisted of
several brief, but very helpful low-level
BASIC examples printed in the manual.
No disk accompanied the board.
Installing the lab master requires
only a screwdriver, and routing the sin¬
gle unshielded cable to the A/D box
through the back panel is easy. Space
gets a little tight, however, as the paral¬
lel I/O, timer/counter I/O, and D/A con¬
verter I/O cables are connected and
routed through the back.
The Scientific Solutions technical
representatives had difficulty answering
analog-related questions outside of the
company’s published specifications.
Strawberry Tree Computers. Two boards
from Strawberry Tree were reviewed.
The 14-bit resolution version (ACPC-14-
16-T12-A-C) provides 16 analog input
channels, 16 bits of digital I/O, or two
channels of poorly supported analog
output. The 16-bit card (ACPC-16-16-
T12-A) drops the two analog output
channels and is otherwise the same as
the 14-bit card. Each card carries a
battery-backed realtime clock.
Testing of both cards revealed that
the best specified accuracy is only 0.04
percent, which is a little better than 11
bits, and this is only for the 50-mV and
± 25-mV ranges. All other ranges for
the boards are accurate to only 1 per¬
cent (approximately 7 bits). Current
ranges have 1.5 percent basic accuracy;
the sense resistor is 10 ohms.
The analog channels are protected
to 50 V continuous and 150 V intermit¬
tent. The digital I/O channels are non¬
protected MOS, although the terminal
box can accommodate additional cir¬
cuitry for protection; the terminal box
also provides 7407 buffers for the digi¬
tal outputs. Two of these boxes are
required to bring out all 16 analog and
16 digital I/O channels.
Input resistance for the on channel
is 1,000 Mils for the 50-mV and ±25
mV ranges, but this drops to 200 KHs
when the channel is deselected; the
resistance is 200 Kfls for all other
ranges. Input current is not specified al¬
though it typically will run about 10 nA.
Each input channel has a slow filter that
consists of two 100-Kfl resistors and a
0.01-microfarads disc ceramic capacitor.
The user should take normal precau¬
tions to guard against overvoltages in
T \e program for the Straw¬
berry Tree boards is the best
reviewed; the user can select
analog scale factors, units,
or ranges easily.
order to prevent dielectric absorption
problems with the disc ceramics (see
photo F). This dielectric absorption ef¬
fect was achieved on the review board.
Input common mode range is ± 8 V.
These cards include the best refer¬
ence tested: a National LM399 comes to
the terminal box unbuffered. Its con¬
nection requires great care.
The A/D converter is a departure
from the predominant successive-ap¬
proximation types. It is an integrating
voltage-to-frequency converter built
around National’s LM331. Resolution
and conversion time can be traded off
to meet special signal requirements.
The analog input section is optim¬
ized for thermocouple inputs. As gen¬
eral A/D inputs, the variation in input
impedance and crosstalk between chan¬
nels acts as a limitation to their instru¬
mentation capabilities.
Although the cards’ accuracy speci¬
fications are not good, resolution was
verified at 14 and 16 bits. Temperature
drift specifications are not broken out
separately between drift and offset. On
the 50-mV ranges, drift is 10 ppm per
degree centigrade; on all other ranges,
it is 100 ppm per degree centigrade.
These boards can experience a
problem when the analog input goes
over range. The displayed value may
decrease, then go negative on a positive
overload. This is especially hazardous in
control loops, because it amounts to
positive feedback. Also note that input
scanning and conversion injects 10-mV
spikes of approximately 1-microsecond
duration into the inputs.
The analog outputs are ±10 per¬
cent accurate. They consist of Analog
Devices DAC08 D/A converters, fol¬
lowed by National LM324s. Software
support for these two output channels
is minimal. The outputs are unprotected
and, when loaded with more than a few
thousand picofarads, they oscillate.
The manual, which is quite clear,
contains the best discussion of interfac¬
ing different transducers to the card
among the products reviewed. It is one
of two manuals that gives a full sche¬
matic for the card and terminal box.
The software is excellent for most
straightforward data acquisition and
control applications. In addition, it is
not copy protected. Full source code is
available for the BASIC program, as well
as for the device drivers on the 14-bit
card. The device driver source code is
not available for the 16-bit card. The
software hooks are well documented
and can be incorporated easily into a
user’s own BASIC program.
Thermocouple linearization is
given for types J, K, W, R, A, E, B, G, C,
and D. The cards’ best accuracy is 0.7
degrees centigrade using an E-type.
The data acquisition and control
program supplied with the Strawberry
Tree card is very complete and the best
reviewed. The user can set the clock;
select analog scale factors, units, and
ranges; specify channel and I/O names;
set alarms on analog or digital I/O; and
do some simple control loops. Data log¬
ging to disk and/or printer is included.
The display of analog input voltages
shows resolution down to the nanovolt
range, which can be mildly irritating.
No provision is made for easily chang¬
ing the number of displayed digits. An¬
other glitch was that over-range signals
can produce in-range readings. The
user must be aware of this to prevent
positive feedback loops when the
product is used in a control system.
Installation of the card with two
terminal boxes is abysmal: weaving the
four unshielded ribbon cables to four
disperse connectors is nearly impossi¬
ble with only one slot open in the PC.
It is highly recommended that the user
remove the adjacent card before at¬
tempting this installation.
MAY 1986
69
MULTIPLE
CHOICE
MULTIUSER SYSTEM
FEATURES: TECH PC TURBO QUAD
BUSINESS SYSTEM.Starting from $5999
Tech Turbo PC/XT base unit in portable or desktop configuration with 640K, multiple serial
ports, 20 megabyte hard disk, three Tech PC terminals, connecting cables, and networking
software.
Separate NEC V20 8088 Intel compatible 8 MHz CPU and up to 768K RAM for each terminal
on the system.
Two fully functional serial ports per terminal.
Four users expandable to 32 users over dumb terminals or PC’s with terminal emulation
software provided with the system. Capacity for unlimited number of local printers.
Full support for multitasking multiterminal use with print spooling for multiple printers,
background monitoring of the system, dial up bulletin board support, password protection,
and file/record locking supporting PC network protocol.
System support all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc.
FEATURES: TECH PC TURBO
TRIAD MULTIUSER.Starting from $2599
Tech Turbo PC/XT base unit with 640K, and two 360K disk drives, 20 megabyte hard disk.
Separate Intel 80188 microprocessor running at 8 MHz and 512K for each terminal.
Two high resolution monitors, two Selectric style Hi-Tek Keyboards, 50 feet of shielded
cable to separate the two stations.
System expandable to three terminals.
System supports up to six printers.
Full support for multitasking multiterminal use with print spooling for multiple printers,
background monitoring of the system, dial up bulletin board support, password protection,
and file/record locking supporting PC network protocol.
System supports all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc.
FEATURES: TECH PC
TWIN MULTIUSER.Starting from $1699
Tech Turbo PC/XT base unit with 640K, and two 360K disk drives.
Two high resolution monitors, two Selectric style Hi-Tek keyboards, 50 feet of shielded
cable to separate the two stations.
System supports up to six printers.
Full software support with multi-level file security, electronic message facility to send and
receive messages between users, password logon system, and system operator command
level.
System supports all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc.
FEATURES: TECH PC QUAD
BUSINESS SYSTEM.Starting from $4499
Tech Turbo PC/AT base unit in portable or desktop configuration with 512K, multiple serial
ports, 20 megabyte high speed hard disk, three Tech PC terminals, connecting cables, and
networking software.
Four users expandable to eight users over dumb terminals or PC’s with terminal emulation
software provided with the system.
Capacity for up to 16 printers at remote sites with up to 6 local printers attached to the main unit.
Each user can access 384K or more of RAM with memory expansion boards.
Full support for multitasking multiterminal use with print spooling for central or terminal printing,
background monitoring of the system, dial up bulletin board support, password protection,
and file/record locking using a general-purpose ENQ/DEQ mechanism callable from user
applications.
System supports all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc.
THIRD PARTY MAINTENANCE AVAILABLE
THROUGH MOHAWK DATA SCIENCES.
TECH PERSONAL COMPUTERS
2131 South Hathaway, Santa Ana, California 92705
TELEX: 272006 Answer Back-TECH
714 / 754-1170
FAX: 714/556-8325
PLEASE ALLOW ONE WEEK FOR SHIPPING
CIRCLE NO. 240 ON READER SERVICE CARD
VISA, MASTERCHARGE
DIGITIZING
Layout in the terminal box is very
convenient, especially for the analog in¬
puts. They connect to terminal posts
mounted in a massive anodized alumi¬
num plate for isothermal contact. The
plate has a temperature sensor embed¬
ded in the bottom for thermocouple
cold junction compensation.
The Strawberry Tree technical as¬
sistance was good. The representatives
provided accurate information and were
knowledgeable about analog circuitry.
Western Telecomputing Corporation. The
ICIS two-board set is a unique depar¬
ture from the other boards covered in
this review—a data acquisition system
designed primarily for unattended mon¬
itoring of meteorological or pollution
events (see photo G). Because of this,
conversion times are rather slow (10 to
100 conversions per second).
This system also was the only one
reviewed that permitted battery backup
to allow it to keep acquiring data after
power to the PC had been withdrawn.
The two boards are connected to a
19-inch rack-mount termination panel
with a 64-conductor unshielded ribbon
cable. The boards tested were supplied
without solder mask, an unusual and
substandard printed-circuit board fabri¬
cation omission. Two Harris 506A multi¬
plexers provide 16 differential input
channels. Two sockets were left open
for an additional 16 input channels.
Inputs can be either voltage or frequen¬
cy. Frequency inputs are counted by an
82C53 and stored in on-board memory;
they are controlled by an on-board
CMOS microprocessor, an 80C85.
Voltage inputs are routed to one of
four instrumentation amplifiers
(AD524AD), selectable by software. The
amplifiers provide gains of 1, 10, 100,
and 1,000. Gain coefficients are stored
by the control program to gauge gain
inaccuracy, obviating the need for po¬
tentiometers. The A/D is built around a
voltage-to-frequency converter (Analog
Devices VFC32KN) and AD584JH refer¬
ence. The frequency is counted over a
10- or 100-millisecond period and
stored as described above. The effect is
that of an integrating A/D converter
with excellent noise rejection.
The overall accuracy of the system
is 12 bits when the conversion time is
100 milliseconds. Offset voltage is auto-
zeroed periodically by the microproces¬
sor. The gain nonlinearity is less than
100 ppm, and its temperature stability is
excellent, with the exception of the
1,000-gain range, which is 100 ppm per
degree centigrade.
The realtime clock requires the
connection of the external battery
backup because it operates in software
on the 80C85. Eight D/A converters
(two each of Analog Devices AD390JD
quad D/A converter) may be installed
for 12-bit resolution voltage output.
The accompanying documentation
is disappointing. The manual fails to
present clearly the necessary informa¬
tion. Locating specific items is further
frustrated by the lack of an index.
Western Telecomputing includes
what it calls DMS (for Data Monitoring
System) in compiled BASIC. DMS is an
all encompassing set-up, configuration,
debugging, and unattended data logging
software package. Menu driven, this
software aids the user in quickly setting
up the desired configuration and log¬
ging in data. Conversions from raw data
to engineering units can use built-in lin¬
earization with up to a sixth degree
polynomial. The system automatically
computes and records maximums, mini-
mums, averages, and standard deviation.
It also permits timed control of the dig¬
ital I/O lines. (The source code for this
program is not included.)
The primary language link for this
product is BASIC. A driver is installed at
boot time and is accessed by BASIC
CALL instructions; however, the man¬
ual’s discussions of the 28 high-level
commands are inadequate, and the
manufacturer’s technical support may
be necessary to their use. Fortunately,
during telephone conversations, the
representatives seemed knowledgable.
FITTING THE SYSTEM
It is, of course, understood, that one
board cannot satisfy the entire range or
even a wide range of measurement
needs. The nature of continuous real
world data requires that the user tailor
the measurement system to a specific
problem. For unattended battery-backed
operation, for example, the Western
Telecomputing set fits the bill and is
highly recommended, having been de¬
signed specifically for that application.
For low-signal-level transducers, pre¬
dominantly thermocouple, one of the
Strawberry Tree boards is a good
choice; they are not recommended,
however, for general purpose use, espe¬
cially for voltages above 100 mV.
The price for a particular configu¬
ration of data acquisition board also
varies according to the specific applica¬
tion. A minimum configuration system
can be purchased for as little as $500,
but the nature of these products allows
many different sized systems to be set
up with correspondingly varying prices.
The prices for the reviewed boards
range from around $500 to $2,300.
For general applications, the Data
Translation board is the best bet, en¬
compassing the finest all-around fea¬
tures, excellent documentation, and
good software support. It requires only
one slot in the PC and installs easily.
This board may not be perfect, but
neither are these products as a whole.
REFERENCES
Morrison, Ralph. Grounding and
Shielding Techniques in
Instrumentation. New York, NY: John
Wiley & Sons, 1977.
Motchenbacher, C. D. and F. C. Fitchen.
Low Noise Electronic Design. New
York, NY: John Wiley & Sons, 1973.
Ott, Henry W. Noise Reduction Tech¬
niques in Electronic Systems. New
York, NY: John Wiley & Sons, 1976.
Burr-Brown
P.O. Box 11400
Tuscon, AZ 85735
602/746-1111
CIRCLE 355 ON READER SERVICE CARD
Data Translation
100 Locke Drive
Marlboro, MA 01752
617/481-3700
CIRCLE 356 ON READER SERVICE CARD
IBM Corporation
Boca Raton, FL 33432
800/426-2468
CIRCLE 357 ON READER SERVICE CARD
MetraByte Corporation
440 Miles Standish Blvd.
Taunton, MA 02780
617 / 880-3000
CIRCLE 358 ON READER SERVICE CARD
Scientific Solutions, Inc.
6225 Cochran Road
Solon, OH 44139-3377
216/349-4030
CIRCLE 359 ON READER SERVICE CARD
Strawberry Tree Computers
1010 W. Fremont Avenue
Sunnyvale, CA 94087
408/736-3083
CIRCLE 360 ON READER SERVICE CARD
Western Telecomputing Corporation
202 East Kagy Blvd.
Bozeman, Montana 59715
406/586-1511
CIRCLE 361 ON READER SERVICE CARD
Eric M. Miller is president of Miller Technol¬
ogy, Inc., a firm that specializes in analog-
to-digital hardware/software systems.
MAY 1986
71
UOOUUU^ & UWWW
nooooooo c? 00000.
r>r>r?i '(
I traded my 16K machine and all
those disks for Lotus® 1-2-3 and 256K.
And immediately got the urge to
merge. I started by merging regional
statements in Maine. But before I
could get to Iowa, I ran out of gas.
At 512K, I discovered what the coor¬
dinates IV169 looked like. I was so
for out there it felt like I was walking
on the moon. It didn’t take long to
find out 512K was nothing more than
a walk around the block.
640K! Loads of space until I fell in love
with integrated software and was
back to cutting up files again. Sure,
the other functions make my work¬
sheet more persuasive, but I’m back
to slugging in and out disks. Shades
ofl6K.
/
ijGGGOOO ■6:,
_ uu ouu
C?;[7
n T-’ oo oT''
*S2 !|f I
- - - - - G UW/CO
cuToiTorvon 0 irneec
:
oououuuy 6 tocGc
finoaoooQ 0 00000.
OotSHCtcSC' OOOO 0 1 -lift
Old war stories of how you fought your way up
through the memory ranks are great to remember
as long as you don’t have to relive them. And you don’t.
Thanks to one incredible breakthrough. Above™
Board PS.
Above Board is the memory board that drove the
Lotus®/Intel/Microsoft 8 expanded memory specifica¬
tion, Infoworld’s 1985 Peripheral Product of the Year.
From Intel. The company that has driven more
standards than all of the other chip shops put together.
Above Board PS has the parallel and serial ports,
clock, print buffer, and RAM disk you’d expect from
a conventional multifunction board.
But why buy a conventional board when Above
Board PS can take you from 256K all the way to
1.5 megabytes in one fell swoop, without even pausing
for a breath at 640K.
So you don’t need to hot-wire your way to the top
anymore. With Above Board PS, the split worksheet
is history. The new norm is windowing, pop-ups, and
Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft Corporation. © 1986 Intel Corporation
I’m on my way to 1.5 MB and I’m
not looking back. Monster spread¬
sheets, killer models, Microsoft®
Windows, and all kinds of pop-up
utilities so I can juggle a bunch of
balls at once.
;ct^ ;
,il Y)p r 0()O N
€f©'l bhi
'r\ o o ** v;v '
w;acecQ 0
0 Vijr O U
0000000
O’C ^ .* .\. .
r-r r 00.00 ^pp-P.^po.p • 0 v: •/:
INTEL
<)(>
■Cf'CCOrt
o o
000 <&\ QQaaaao,
M 0 0 0 f "1O 0 P A :
T— Till?;! r
•^T^i
;ci: ^ i i
U*fcr Vi/V/V»y V»> Vi./ v/ VJ
pooooooor^
Qs GJ VI> O <J VKs €> ^ \T? C?\3^ vS? V£T
^rpooror 00poor'
ii/V/t/V/V/Vz L? U
rsoaooo :
&0 0£*fo
RAM speed on everything—even databasing and
word processing.
The second-biggest difference between Above
Board PS and conventional multifunction boards
is the unconventional warranty on it. Five years
instead of the usual two.
Ease of installation is nothing to sneeze at either. Its
software installs with as few as three keystrokes. It
even intelligently customizes your memory allocation.
Above Board PS is part of a family of products
for the IBM PC, XT, AT and compatibles.
You can buy them at your favorite computer
store. Or call 800-538-3373 for the names of
dealers near you.
And re-write the book on overachieving.
Help for the overachiever.
iry
CIRCLE 216 ON READER SERVICE CARD
REALTIME SYSTEMS
The Portable
Approach
The various software components of
Hunter & Ready s VRTX achieve portability
in two ways: within a processor group
and across processor families.
RICHARD M. FOARD
P ortable is a word often heard in
computer engineering circles. Its
usual context is in describing soft¬
ware that can be moved from one oper¬
ating environment to another by a
mechanical process of compiling and
linking, with little or no modification of
source code necessary. Portability is a
quality of utmost importance to busi¬
nesses because it translates directly into
savings of engineers’ and programmers’
time. Portable software also allows
products to be moved more quickly
into new markets.
A second dimension of portability
is of even greater importance to busi¬
nesses—the portability of engineers and
programmers themselves. The ability to
move a product development group
from one set of hardware to another
without incurring delay and expense for
retooling and retraining is a powerful,
sought-after business advantage.
Hunter & Ready’s VRTX (Versatile
Real-Time Executive) family of “silicon
software components” is a multitasking,
realtime system that offers portability in
both senses of the word. Within a pro¬
cessor group such as Intel’s 8086 family,
its software modules are portable.
Across processor families (8086, Zilog
Z80 and Z8002, Motorola 68000), its
interfaces are identical (see figure 1).
Within a processor family, VRTX
software is portable at the executable
level. No reassembling, recompiling, or
relinking of VRTX’s core modules is
required in moving from one hardware
configuration to the next, and, conse¬
quently, Hunter & Ready has the un¬
common ability to deliver its software
products in read-only memory chips.
The company cites advantages go¬
ing beyond portability for its silicon
software approach. By casting software
in an indivisible, nonalterable hardware
75
COMPUTER GRAPHIC • DOV JACOBSON
PORTABLE APPROACH
Due to the device-independent design of VRTX, the executable code generated on different hardware configurations (shown as
different shapes) is portable within the family; across processor families it provides an identical interface for applications.
part, Hunter & Ready moves the charac¬
ter of software development one large
step closer to that of the well-standard¬
ized environment that hardware engi¬
neers have enjoyed for many years.
Standard software components encour¬
age a more consistent approach to the
task of systems design and simplify
product configuration control—the
sometimes onerous task of keeping
straight which versions of which system
components work together properly.
VRTX users need not hunt down
the correct versions of the correct
vendor’s linkers and assemblers in or¬
der to create executable versions of
VRTX, because inconsistencies in devel¬
opment tools is not a problem.
Version 3.0 of VRTX/86 has four
basic modules: VRTX, IOX (input/output
executive), FMX (file management exec¬
utive), and TRACER, a realtime debug¬
ging package. The VRTX component
provides multitasking, interrupt process¬
ing, memory allocation facilities, and a
duplex character I/O channel. IOX
extends VRTX’s I/O capabilities and al¬
lows applications programs to control
standard or special-purpose I/O devices
using a simple, uniform interface. FMX
forms a logical layer that may be placed
atop IOX and VRTX to manage a struc¬
tured disk file system. TRACER provides
realtime debugging support by allowing
“back door” viewing and control of sys¬
tem operations.
Within a processor family, VRTX
software is portable among different
hardware configurations by virtue of its
device-independent design. The VRTX
component, even though it provides
timing, interrupt processing, and char¬
acter I/O services, does not rely on any
particular clock chip, interrupt control¬
ler, or serial I/O device. To use these
devices, the executive calls on a config¬
uration-specific device support package
(DSP)—a small set of software that
users must build to Hunter & Ready’s
specifications. The DSP provides VRTX
with the device-specific intelligence it
requires to operate with a particular
hardware set.
Its modular design has made VRTX
well-suited to the needs of system inte¬
grators. VRTX is widely used by devel¬
opers who manufacture or resell single¬
board computers embedded in dedi¬
cated, special-purpose realtime systems.
VRTX system integrators of this type
must develop their own DSPs.
VRTX MEETS THE PC
VRTX/86’s basic, device-independent
modules are delivered in executable
form only, either in PROM chips or in
hex files on DOS-format floppy disks.
Developers using PROM component
versions must equip their target systems
with an adapter board to host the soft¬
ware chips (see the accompanying side-
bar). Developers using the components’
software versions can run VRTX in RAM
on a PC, XT, or BIOS compatible.
All VRTX code is position-indepen-
dent. Its only placement requirement is
that it be aligned on a paragraph
boundary within the PC’s 1MB memory
space in a location that does not con¬
flict with existing memory or I/O
devices. The basic modules use the in¬
terrupt vector to accomplish all commu¬
nications with each other, with the DSP,
and with applications code.
Hunter & Ready markets DSPs for a
number of common hardware configu¬
rations, including the PC DSP for PCs,
XTs, and BIOS-level compatibles. A PC
developer who elects to operate a com¬
ponent in a mode other than that estab¬
lished by the BIOS must modify the
standard PC DSP.
Delivered as a collection of Micro¬
soft Assembler (version 2.0) source
modules, the PC DSP stands between
VRTX and the devices and resources of
the PC (see figure 2). It tailors VRTX to
operate with the 8237 DMA Controller,
8253A interval timer, 8259A interrupt
controller, 6843 video controller, 8250
USART serial communications control¬
ler, PD765-compatible NEC floppy con¬
troller, and XT hard-disk controller.
Like DSPs for other hardware con¬
figurations, the PC version contains
three hardware-specific elements that
form a logical bridge between VRTX
and the PC’s particular hardware set: a
configuration table, a system initiali¬
zation module, and a set of interrupt
processing routines.
VRTX finds the configuration table
by using a pointer stored in interrupt
vector 128 (location 200H). From the
configuration table, VRTX discovers
operating parameters and environmen¬
tal information such as the location and
size of its RAM workspace, the number
of tasks it will be coordinating, the sizes
of task and interrupt stacks, and so on.
76
PC TECH JOURNAL
The PC DSP contains three hardware-specific elements that form a logical bridge
between VRTX and the PC’s particular hardware set: a configuration table, a system
initialization module, and a set of interrupt processing routines.
After establishing a configuration
table, DSP initialization code is respon¬
sible for the following functions: (1)
installing pointers to the configuration
table and to VRTX’s system call entry
point in the interrupt vector, (2) initial¬
izing the PC’s devices, (3) calling a spe¬
cial initialization routine (VRTX_INIT)
within VRTX, (4) performing any
required initialization of serial commu¬
nications ports, interrupt mask, (3) in¬
voking the initialization of an applica¬
tion, and (6) calling VRTX__GO to start
the multitasking environment and the
applications tasks in motion.
The DSP’s interrupt processing
routines fill out VRTX’s device-indepen¬
dent interrupt processing capability
with the device-specific intelligence
VRTX requires to manage the PC’s inter¬
rupting devices. Its timer interrupt
processing routine simply makes the
special VRTX call UI_TIMER to inform
VRTX that a clock tick has occurred; all
further clock-based functions are
performed by VRTX’s generic clock
management code.
The DSP’s support for VRTX’s char¬
acter I/O channel is more complex. Ap¬
plications may call upon VRTX to send
or receive characters over the serial I/O
channel using the SC_PUTC and
SC_GETC system calls. VRTX handles
all buffering of inbound and outbound
characters to a depth of 64 characters,
but must rely on device-specific intelli¬
gence in the DSP to accomplish physi¬
cal character I/O.
For receiving inbound characters,
VRTX provides the call UI_RXCHR (post
received character from interrupt). Each
time the DSP’s interrupt processing rou¬
tine awakens and receives a character, it
calls UI_RXCHR to pass the character
along to VRTX. VRTX buffers the charac¬
ter and, if an applications task has an
outstanding SC_GETC call, forwards it
to the task when it gets its next oppor¬
tunity to run.
To send characters out, VRTX pro¬
vides the call UI_TXRDY. It depends
upon the DSP’s ready-to-transmit inter¬
rupt processing routine to call
UI_TXRDY each time a device reports
that it is ready to send another charac¬
ter. UI_TXRDY takes a character from
VRTX’s output queue and returns it to
the interrupt routine for transmission. If
the buffer is empty, UI_TXRDY returns
an error code after noting that the
transmitter is now ready; when in this
state, VRTX processes the next applica¬
tions task call to SC_PUTC by calling a
TXRDY driver routine in the DSP to
transmit the character directly—no
buffering is required.
TASKS AND SCHEDULING
Once placed in execution by a call to
VRTX_GO from the DSP, VRTX estab¬
lishes a priority-based multitasking envi¬
ronment with preemptive scheduling.
Tasks created by the DSP’s application
initialization phase begin running and
contending for processor time. These
tasks may in turn create other tasks
using the SC_TCREATE system call.
VRTX supports any number of con¬
currently executing tasks, each running
at one of 256 priority levels from 0
(highest) to 255 (lowest). Scheduling is
preemptive; VRTX always maintains in
execution the highest priority task capa¬
ble of running. Once in execution, a
task continues to run until it terminates
itself, suspends waiting for some event,
or a higher priority task becomes ready
to run. If for any reason a higher prior¬
ity task becomes ready to run while one
with lower priority is running, VRTX
switches context immediately and runs
the higher priority task.
If several tasks at the same priority
level are ready to run, and no higher
priority task is ready, the task that most
recently became ready to run is exe¬
cuted. If no higher priority tasks be¬
come ready while it is running, it re¬
tains control until it suspends, at which
time it is queued behind all the other
tasks with the same priority that are
waiting for their turn to execute.
Using the SC_TSLICE (enable/dis¬
able time slicing) system call, an appli¬
cation can change the way in which
VRTX schedules execution of equal
priority tasks. When time slicing is
turned on, tasks of equal priority are
each allowed a specified number of
clock ticks’ worth of execution time,
then suspended while control is rotated
to the next ready task of equal priority.
Control continues to be passed in
round-robin fashion among tasks of the
same priority until time slicing is dis¬
abled (or until a higher priority task
becomes ready to run). The length of a
time-slicing interval is specified in the
enabling system call.
VRTX’s ability to time-slice among
tasks of equal priority is valuable and
distinguishes it from other priority-
based realtime systems. Systems without
time slicing can manage one compute-
bound task easily—the task can be giv¬
en the lowest priority so that it will not
block the execution of time-critical
tasks. Handling two or more tasks, how¬
ever, is quite awkward, because the
compute-bound tasks must be con¬
structed to pass control explicitly back
and forth. They must create self-im¬
posed time slices that are not likely to
be as uniform in length as VRTX’s
clock-determined slices.
The usefulness of time slicing is
not limited to the management of pro¬
cessor-bound tasks. Other situations
arise in which switching the processor
rapidly and evenly among tasks of equal
importance is desirable. A designer
might want to time-slice among multi¬
ple display tasks to avoid haphazard dis¬
play management that would be disori¬
enting for systems operators. Time slic¬
ing is also desirable in time-sharing or
other dynamic settings where systems
MAY 1986
77
The ATI GRAPHICS SOLUTION uses revolutionary
CMOS VLSI Gate Array Technology to achieve extensive
multi-display ability with fewer components, longer life,
lower power consumption and lower price.
The “SMALL WONDER” GRAPHICS SOLUTION,
amazingly, has all the features below on one small
board that fits in the IBM PC/XT short slot!
What’s more, Parallel and Serial/Parallel expansion
modules are available as options.
GRAFIX PARTNER —16
COLORS
CMOS VLSI Gate Array Technology
HERCULES COMPATIBLE 132 COLUMNS
MONOCHROME GRAPHICS
Distributors:
F.A. Components —
NY (718) 507-1444, outside NY (800) 847-4148
IN (219) 432-8540, outside IN (800) 331-7567
SC (803) 288-2422, outside SC (800) 845-2747
Ossmann Computer Tech.—
IL (800) 942-5215, outside IL (800) 323-2239
OH (800) 824-9627, outside OH (800) 824-5934
NJ (800) 221-2514, outside NJ (800) 624-4010
NY (800) 628-4466, outside NY (800) 537-5378
SAI America — MD (301) 459-2100, outside MD (800) 638-9579
First Source — AZ (602) 437-9744
RC Data — N. CA (408) 946-3800, (415) 540-0604
S. CA (714) 634-9400
Sacramento (916) 395-2592
Compu-D — TX (800) 772-5340, outside TX (800) 433-5354
CompuServe — CAN. (416) 477-8088
Wells Data — ONT (416) 890-2600
Santronics — BC (604) 522-9877
IBM Compatible Color/Graphics
High Resolution 320x200 16 colors
Color/Graphics 640x200 4 colors
640x200 16 colors
132 Columns In either Color or Monochrome
V
FUcker-Free Scrolling in All Modes
Parallel Port
Fits In Short Slot of IBM PC/XT
IBM Compatible Monochrome Text
16 COLORS HIGH
RESOLUTION
Hercules Compatible Monochrome Graphics
Runs Color/Graphics Software on
Monochrome Monitor In 16 shades
Without Pre-Boot Drivers
ATI Graphics Solution
ATI
Graphics
Solution
Paradise
Modular
Graphics
Hercules
Graphics
Plantronlcs
Color Plus
COLOR SOFTWARE ON
MONOCHROME MONITOR
IN 16 SHADES
SYMPHONY HIGH
RESOLUTION
Warranty
2 yrs
Suggested Retail Price
2 yrs
Serial/Parallel Expansion Module $79 Parallel Expansion Module $49
Small Wander From
450 Esna Park Dr.
Markham, Ontario, Canada L3R 1H5
Electronic Marketing Specialists
S.CA (714) 832-9920, (818) 708-2055, (619) 560-5133
N.CA (408) 245-9291, CJT (801) 268-9866
CO (303) 745-0745, AZ (602) 840-8855
TELEX 06-966640 (CMC—MKHM) TECHNOLOGIES
(416) 477-8804 FAX (416) 477-9445 INC.
Trademarks: Paradise. Modular Graphics Card — Paradise Systems Inc.; Hercules Graphics—Hercules Computer
Technology; GraFix Partner — Bright bill- Roberts; Symphony — Lotus Development Corporation;
IBM — International Business Machines; Plantronics. Coiorplus — Plantronlcs Enhanced Graphics Corp.
Competitive information based on manufacturer's published information as of January 1, 1986.
Specifications subject to change without notice. CIRCLE NO. 206 ON READER SERVICE CARD
PORTABLE APPROACH
operators can invoke unpredictable
mixes of tasks that must provide reason¬
ably uniform response times.
In practice, the applicability of time
slicing is limited by VRTX’s behavior
when a time-sliced group of peer tasks
is preempted by a higher priority task.
If this happens before a task has
exhausted its time allotment, the
preempted task is allowed to start its
slice over. In a busy environment, fre¬
quent preemptions can defeat time slic¬
ing entirely by preventing some tasks
from participating in the round robin.
As many as 255 VRTX tasks can be
tagged with a unique identification
number that allows them to be refer¬
enced by other tasks or by interrupt
service routines. A task with an identifi¬
cation number can be removed from
the system by another task using an
SC__TDELETE system call, or it can be
made to suspend execution via the
SC_TSUSPEND call. Once suspended, a
task remains that way until named in an
SC_TRESUME call from somewhere
else in the system. SC__TSUSPEND and
SC_TRESUME provide complete control
over a task’s operation; a task that is
waiting for some event when it is sus¬
pended remains suspended even if the
event occurs, and it does not proceed
until awakened by an SC_TRESUME
call. Tasks may apply SC_TDELETE and
SC_TSUSPEND operations to them¬
selves as well as to other tasks.
Tasks can use the SC_TPRIORITY
system call to change their own execu¬
tion priority or the priorities of other
tasks while processing. They also can
discover the priority and status of other
tasks by making an SC_TINQUIRY call.
By passing the special task identifying
number 0, a task can use SC__TINQUIRY
to determine its own priority and status.
VRTX’s complement of intertask
control and inquiry functions provides
the systems designer with ample flexi¬
bility to build and tune systems with
dynamic responsiveness. A task that
spends most of its time performing rou¬
tine, low-priority processing chores, for
example, can be coded to elevate its
priority temporarily to race through the
handling of occasional critical inputs.
The ability of tasks to create, sus¬
pend, and resume other tasks allows a
designer to place broad control of sys¬
tem operation in the hands of system
operators by equipping them with com¬
mands to start, stop, suspend, or re¬
sume system functions in the midst of
processing. VRTX’s intertask control
facilities enable graceful handling of
problem situations. In a process control
system monitoring input from several
interrupting devices, for example, a
command to suspend a particular de¬
vice’s input task can be made available
to the operator in the event that a de¬
vice malfunctions and swamps the sys¬
tem with a torrent of bogus data. In
multitasking systems without VRTX’s di¬
rect intertask control capabilities, giving
one task direct control over another’s
activities is much more difficult.
A VRTX task can temporarily dis¬
able VRTX’s normal preemptive sched¬
uling of tasks by issuing an SC_LOCK
(disable task rescheduling) call. When it
receives control back from a call to
SC__LOCK, a task is guaranteed that no
other tasks will be allowed to run, even
if they become ready at higher priori¬
ties, until the locking task calls
SC_UNLOCK. While between lock and
unlock calls, a task shares the processor
only with interrupt service routines.
Through locking, the systems
designer can avoid the more extreme
T \e complement of inter¬
task control and inquiry
functions provides the de¬
signer with ample flexibility
to build and tune systems.
measure of disabling processor inter¬
rupts in order to protect critical sec¬
tions of code from interruption by
other tasks. Also, unlike instructions to
disable and enable interrupts, the
SC_LOCK and SCJJNLOCK calls nest
properly. If subroutine A locks schedul- *
ing, calls subroutine B, then unlocks
scheduling, scheduling remains locked
until A unlocks it, even if B locks and
unlocks scheduling in the interim.
MAILBOXES AND QUEUES
VRTX tasks can engage in synchronized
communications by sending and receiv¬
ing 32-bit messages via mailboxes , a 32-
bit variable declared within an applica¬
tions module. A task sends a message to
a mailbox by passing a 32-bit, nonzero
message and the address of the mailbox
to the system call SC_POST. If the mail¬
box is empty, the calling task’s message
is deposited. If it is not, the caller
receives a failure code back from
SC_POST. In either case, the calling
task remains ready to run.
Messages from mailboxes are
obtained in one of two ways. A task call¬
ing SC_ACCEPT for a particular mail¬
box receives and consumes a message
if one is present. If the mailbox is
empty, an error code is returned.
By calling SCJPEND for a mailbox, a
caller receives a message if one is pres¬
ent or suspends until one is deposited.
If multiple tasks suspend the use of
SC_PEND at the same mailbox, the next
incoming message is awarded to a wait¬
ing task, and the task is allowed to pro¬
ceed in order of task priority. A task
calling SQJPEND has the option of
specifying a time limit; if the time limit
is reached before a message arrives, the
waiting task is returned an error code
and allowed to proceed.
Mutual exclusion around a re¬
source or critical section of code can be
accomplished easily using VRTX mail¬
boxes. A task requests a resource by
calling SC_PEND on its associated mail¬
box (the mailbox must be initialized to
contain a message) and releases it by
calling SC_POST to redeposit a mes¬
sage. The releasing call to SC_POST
allows the next requesting task to pro¬
ceed past its call to SC_PEND.
VRTX also provides system calls
that manage synchronized data queues
of 32-bit messages. Unlike mailboxes,
queues are created in VRTX-maintained
system workspace memory. Tasks form
queues by using the system call
SC_QCREATE and passing a maximum
queue size parameter and a 16-bit
queue ID number by which subsequent
system calls can identify the queue.
The three queuing primitives
SC__QPOST, SC_QACCEPT, and
SC_QPEND are analogous in their
operation to the corresponding system
calls for managing mailboxes:
SC_QPOST enqueues a message or
reports failure if the queue is full;
SC_QACCEPT dequeues and consumes
a message if one is present or reports
failure if the queue is empty; and
SC__QPEND waits for the arrival of a
message if necessary, then dequeues
and consumes it. SC__QPOST, like
SC_POST, accepts an optional param¬
eter that can be used to specify the
amount of time a caller is willing to
wait for a message to appear in an
empty queue. As with mailboxes, multi¬
ple tasks contending for messages from
a single queue are awarded messages in
order of task priority.
The SC_QINQUIRY system call can
determine the number of messages in a
queue and the contents of its first mes¬
sage; calling SC_QINQUIRY does not
consume a message.
Just as a VRTX mailbox can be used
to accomplish mutual exclusion about a
MAY 1986
79
For You, Good Is Just Not Good Enough.
For serious programmers, good isn't good enough. You need the best
...the best tools, the best advice and the best support.
At Lifeboat, we've been selling to programmers since 1976, so we
know quality when we see it. And we're committed to a full-service
program that goes beyond just selling you the best software at
competitive prices. Our expert staff can help you decide which
programs are best for your needs and provide you with all the
technical support you may require. You can rely on Lifeboat for the
complete solution to your programming needs.
LANGUAGES
Lattice C New 3.0 Version
The best selling C Compiler has been
upgraded to give you more functions and
features. Lattice C 3.0 contains 200 new
library functions, better code generation,
support for new data types (void, enum,
unsigned char, unsigned long), support for
80186/80286 instruction set and the ability
to generate in-line 8087/80287 instructions.
Lattice C is the C compiler for professional
developers.
RUN/C—The C Interpreter
Upgraded Version
Learn C the natural way with RUN/C. The
user interface is similar to BASIC with easy
familiar commands. The new 2.0 version of
RUN/C comes with a full-screen editor and
other enhancements.
RUN/C Professional New
RUN/C's features plus powerful enhance¬
ments for program development. Load your
favorite object libraries with RUN/C Profes¬
sional. Contains a full-screen editor and
source code debugging facilities.
Mark Williams
C Programming System
A complete development environment.
Pro Pascal
A truly standard Pascal. Produces fast, tight
code with plenty of compile time options and
simple one-line commands.
BetterBASIC New Version
Now you can program in BASIC and use the
full memory of your PC, create structured
programs using functions and procedures,
make your own library modules and more.
Now compatible with Microsoft BASIC.
LANGUAGE UTILITIES
C-SPRITE
Symbolic debugging at both source level and
machine level. Monitor your program by
setting breakpoints, examining registers and
variables, or single-stepping through code.
Handle a set of commands as a macro.
C-SPRITE and the Lattice C Compiler are
a natural pair for program development
and debugging.
BASTOC
A BASIC to C translator for the BASIC
programmer who wants to upgrade to C.
EDITORS
LSE
A powerful yet inexpensive full-screen editor
designed for efficiency and ease of use. Its
speed is optimized by writing directly to video
memory. The Lattice Screen Editor provides a
multi-window environment, ability to repro¬
gram keys, support for keyboard macros, an
undo command, an error tracking mode,
on-line help and more.
VEDIT Plus
A full-screen text editor for program
development and word processing. It contains
powerful features including use of macros,
on-line help facility, paragraph formatting,
and file comparison.
Pmate
The programmer's editor with a powerful
macro command language. Compile in the
background while you continue to edit files.
EMACS
Customizable editor including windowing,
multi-tasking and special modes for C
and Pascal.
FUNCTIONS
C-Food Smorgasbord
Library of time saving utility functions
including a BCD package, an IBM PC BIOS
interface, level 0 I/O functions, a terminal
independence package and more.
PforCe Brand New
An optimized library of an impressive 400 plus
functions and subsystems for the C program¬
mer. PforCe is so comprehensive you may
never need another library. Included is a
window management system with overlap¬
ping or tiled windows and a database system
with B-tree file structure. Several pre-coded
screens including ''Lotus" style are supplied.
And there's much more! Routines for interrupt
driven communications, background tasks,
and string/table parsing, along with functions
for field/screen editing and validation are all
part of this superbly written and documented
software. Complete source code is included.
The Greenleaf Functions
A mature library of over 200 functions.
Version 3.0 offers all new indexed docu¬
mentation, with an abundance of examples.
Source code included.
The Greenleaf Comm Library
Powerful communication library. Includes
functions to create interrupt driven routines or
perform direct I/O to multiple Comm Ports.
GRAPHICS and
SCREEN DESIGN
Essential Graphics New
A brand new graphics library for C
programmers with the emphasis placed on
ease of use and portability. All the important
routines are included for line, circle, ellipse,
box, diagonal, hatching patterns, flooding and
more! Create bar and pie charts with one
command. Automation is easy too. And,
unlike other popular graphics packages,there
are no royalties for the use of Essential
Graphics in software development. Finally, as
an extra bonus, ten of the most popular font
styles are included.
GSS GRAPHICS
GSS Computer Graphics Interface is designed
for creating high performance graphics
based applications, providing true device¬
independence. Products in the GSS line
include the Graphics Development Toolkit,
the Kernel System, the Plotting System and
the Metafile Interpreter.
Multi-Halo
Library of over 200 graphics functions,
supporting all of the popular graphics boards.
Panel
A powerful tool for interactive screen design.
INTERNATIONAL
SALES OFFICES
Australia: Fagan Micro¬
processor Associates
Phone: (61) 3699-9899
Canada: Scantel Systems
Phone:(416)449-9252
England: Grey Matter, Ltd.
Phone: (44) 364-53499
Italy: Lifeboat Associates, S.p.A.,
Phone: (02) 656-841
Japan: Lifeboat Japan
Phone: (03) 293-4711
Spain: Micronet, S.A.
Phone: (34) 1-457-5056
The Netherlands: GIGA Computer
Products
Phone: (31) 10-771846; SCOS Auto¬
mation BV. Phone: (31) 20-1069224
Lifeboat
55 South Broadway
Tarrytown, NY 10591
Pfix86 Plus
A powerful symbolic and source level
advanced debugger for programming
professionals.
Essential C Utility Library
Over 300 functions, with special attention
given to screen handling, windows and
business graphics. Source code is included.
For more information on these and other
products in our complete line call:
1-800-847-7078 In NY: 914-332-1875
I XCDfkAT
The names of products listed are generally the trademarks of the sources of the
products.
©1986 Lifeboat Associates
The Full-Service Source for Programming Software.
CIRCLE NO. 144 ON READER SERVICE CARD I
PORTABLE APPROACH
resource, a queue can be used to
implement resource pool management
in the style of Dutch theorist Edsger
Dijkstra’a semaphore synchronizers. A
semaphore is an abstract data structure
that can be used with the indivisible,
primitive operations signal and wait to
accomplish task synchronization. Each
semaphore contains a resource count
and a FIFO queue. Tasks wishing to
gain access to a unit resource execute a
wait operation on its associated sema¬
phore. If the semaphore’s count is
greater than 0, it is decremented and
the task is allowed to proceed; if the
count is 0, the task is placed at the tail
end of a queue of waiting tasks. A task
freeing a unit of resource executes a
signal operation on its semaphore,
which increments the count; this allows
a waiting task to leave its place at the
head of the queue, complete its wait
operation by decrementing the count,
and resume execution.
Given a finite pool of resources for
which tasks compete, such as a set of
eight serial communications ports
through which telephone calls can be
placed, an applications system can use a
VRTX queue to ensure orderly alloca¬
tion of the ports as follows: initially, a
queue of size eight is created and eight
messages are enqueued, each holding
the number of an available port; each
time a task needs to place a call, it exe¬
cutes an SC_QPEND call to get the
number of a free port; when it has fin¬
ished its call, the task places the port
back in the resource pool by enqueuing
its number with an SC_QPOST call.
Although in general use the
SC_QPOST call differs from Dijkstra’s V
(signal) operation in that it observes
task priorities and can fail, it provides a
close approximation to signal’s opera¬
tion when the system design guarantees
that no task ever attempts a QPOST
operation on a full queue.
MEMORY ALLOCATION
Using VRTX’s memory allocation calls,
an applications system can create mem¬
ory partitions from which fixed-size
blocks of memory may be allocated
upon request by tasks. Partitions are
created using the SC_PCREATE system
call. Each partition consists of some
number of contiguous paragraphs of
memory and has an associated block , or
allocation unit, size; block size is also
specified in paragraphs. An application
can create any number of partitions,
each with its own block size. A system
might, for example, maintain a partition
of 100 I/O buffers consisting of 512
bytes each and a second partition of
1,000 message buffers of 16 bytes each.
If the need arises, partitions can be
enlarged using the SC_PEXTEND call.
Tasks request and release individual
memory blocks from a partition using
the SC_GBLOCK and SC_RBLOCK calls.
The allocator deals in fixed-size
memory blocks, so it does not suffer
from the memory fragmentation prob¬
lems possible in variable block-size al¬
location schemes, and it requires no
compaction procedures to reorganize
free memory within partitions.
Because a partition is simply a con¬
tiguous region of user memory, parti¬
tioning affords the user a great deal of
flexibility in establishing and using
memory pools. A system can, for exam¬
ple, create one partition of very large
blocks, then, in turn, define some or all
of the large blocks as nested partitions
containing smaller blocks.
VRTX’s partitioning approach to
memory allocation has another impor-
As with mailboxes, multiple
tasks contending for mes¬
sages from a single queue
are awarded messages in
task priority order.
tant advantage over schemes that parcel
out free memory from a single, mono¬
lithic pool, as UNIX’s malloc subroutine
does. Partitioning provides natural
boundary lines along which a systems
designer can divide free memory in
order to eliminate system deadlocks. A
message switching system, for example,
might be designed so that one task re¬
ceives messages from a communications
line, a second reformats them, and a
third wraps a new envelope of control
information around them and then for¬
wards them out.
Given this division among tasks,
the input task might want to allocate a
buffer for each incoming message and
queue the message to the reformatting
task, which allocates a second buffer to
hold the revised message text. This ap¬
proach raises the possibility of system
deadlock if all buffers are allocated
from the same pool. A rapid burst of in¬
coming messages could consume all
available buffers and leave the reformat¬
ting task with no buffers available to
hold reformatted messages. Using parti¬
tioning, a VRTX-based designer could
prevent this type of deadlock by creat¬
ing two memory partitions and
allocating inbound message buffers
from one and outbound (reformatted)
message buffers from the other.
Communications between VRTX
tasks and the standard complement of
PC I/O devices is supported by Hunter
& Ready’s DSP. VRTX users can inte¬
grate other, nonstandard I/O devices by
adding their own initialization and
interrupt service routines to the DSP.
Users have two alternatives when
integrating a new interrupt-producing
device. If the device’s interrupt service
routine (ISR) can run completely be¬
hind the scenes, with no interaction
with VRTX tasks, it can be coded just as
an interrupt handler for a simpler envi¬
ronment such as DOS is coded. A ser¬
vice routine for a “watchdog” or “dead-
man” timer device, for example, which
interrupts periodically and automatically
causes a hardware reset and system re¬
start if it is not serviced within a short
period of time, would fall into this cate¬
gory. Its ISR could save registers on the
stack of whichever task happened to be
running when the interrupt occurred,
service the device, then restore regis¬
ters and perform an IRET instruction.
If an ISR does require interaction
with the multitasking environment, as
most do, it must be designed to cooper¬
ate with VRTX’s task scheduling mecha¬
nism. ISRs that must execute VRTX ser¬
vice calls to signal or exchange data
with tasks fall into this category. A user-
supplied ISR cooperates with VRTX by
calling UI_ENTER when the ISR begins
executing and calling UI_EXIT when it
finishes. UI__EXIT examines the system
state to see if any of the actions per¬
formed by the ISR could have readied a
task of higher priority than the current¬
ly executing task. In this way, the higher
priority task gets the earliest opportuni¬
ty to preempt the running task.
ISRs calling UI_ENTER and
UI_EXIT can use another element of
VRTX’s interrupt processing support:
automatic interrupt stack switching. If,
at system initialization time, the DSP is
configured to enable the maintenance
of an optional interrupt stack, then
UI_ENTER and UIJEXIT perform stack
switching as well as cooperating with
the VRTX scheduler. In a system config¬
ured with an interrupt stack, all inter¬
rupt service routines use the interrupt
stack instead of task stacks for their
local storage. UI_ENTER and UI_EXIT
manage nested interrupts properly by
switching to the interrupt stack only
when interrupt processing is not
already in progress.
MAY 1986
81
FORTRAN PROGRAMMERS
LOOK FAMILIAR?
F77L GETS YOU OUT OF THESE SITUATIONS
1. PROGRESS IMPOSSIBLE
You’ve tried other PC FORTRANS,
but none of them allow you to
complete your project. It could be
the lack of key features, the over¬
whelming bugs, being stuck with a
subset, or the inability to run large
programs.
The answer to your problems is
f 77 l. With F77L you not only get
the full ANSI(X3.9—1978) Standard
but additional features for flexibility
in programming. We have done
more than simply design a product
to run all your programs, we imple¬
mented a system that allows users
to reach their full programming
potential. At LCS, we have been
specializing in FORTRAN for over
16 years, and we believe that our
commitment and dedication to
FORTRAN has resulted in the
finest language system available.
1 ‘Judging by Lahey’s corporate
history, they’ve got lots of
experience writing FORTRAN
compilers. Judging by my
experience with their product,
I would agree wholeheartedly.”
IEEE Software, November 1985
2. THE ENDLESS COMPILE
Your valuable time is spent waiting
endlessly for your programs to
compile.
We have not only developed an
unbelievably fast compiler but we
did it without sacrificing features,
diagnostics, or the speed of execution.
This uncompromising attitude is
evident in the quality and performance
of F77L. Whether you are
downloading from mainframes or
developing on the personal computer,
you can appreciate the importance of
compiler speed.
“FyyL compiled the five files in a
total of 12 minutes, which was 4
times as fast as MS FORTRAN and
an astounding 6 times as fast as
Pro FORTRAN.”
PC Magazine, Dec. 24, 1985
3. MYSTERY MESSAGES
The messages your FORTRAN is
giving don’t make any sense.
f 77L eliminates the confusion by
explicitly diagnosing errors. The
compiler and run time messages
describe, in plain English, the nature
and location of the error. For logical
program errors, we provide our unique
Source On-Line Debugger (SOLD).
SOLD allows you to interface with
your program at the FORTRAN level
and doesn’t require re-compiling or
re-linking. If you happen to run into an
especially tough problem, you can call
our technical staff for assistance.
‘‘The manual that comes with this
compiler is well put together. The
messages are clearly explained, the
compiler’s unique features are well
documented.. .All in all, FyyL is a
fine, well supported product that we
think will do very well in the
marketplace. ”
Computer Language, January 1986
Isn’t it time to say good-bye to all the
shortcomings of your old FORTRAN
system, and get back to enjoying
programming.
F77L
“IKE PROGRAMMER S FORTRAN”
VERSION 2.0
NOW
AVAILABLE
• Full ANSI FORTRAN 77
• Arrays greater than 64K
• User-Friendly Manual
• Third Party Compatibility
• Advanced Source On-Line Debugger
• Simple English Diagnostics
• Extensions for easy mainframe porting
• Technical Support from LCS
“Lahey’s F77L FORTRAN is the
compiler of choice.”
PC magazine
$477
Requires: PC/MS-DOS, 256K, 8087/80287
TO ORDER OR FOR MORE INFORMATION
(213) 541-1200
Lahey
Computer
Systems, Inc.
31244 Palos Verdes Dr. WSuite #243
Rancho Palos Verdes, CA 90274
MS FORTRAN s a trademark of Microsoft Corporation
Professorial FORTRAN is a trademark of International Business Machines.
CIRCLE NO. 128 ON READER SERVICE CARD
PORTABLE APPROACH
VRTX, although firmly cast in sili¬
con, supports user-defined extensions
to its multitasking environment. VRTX
code for creating tasks (SC_TCREATE),
deleting tasks (SC_TDELETE), and
switching from one task’s context to
another incorporate hooks —calls to
optional, user-supplied routines that are
executed each time VRTX performs one
of these functions. A system indicates to
VRTX that it wishes to participate in the
processing of these events by storing
the addresses of its cooperating rou¬
tines in the VRTX configuration table.
Internally, VRTX maintains task
state information in data structures
called task control blocks (TCB). When
giving user code a chance to run at
these key times, VRTX passes relevant
information about the current state of
the environment by passing TCB
addresses. The user’s cooperating rou¬
tine for task creation receives the TCBs
of both the creating and created tasks;
the deletion routine receives those of
deleting and deleted tasks; and the con¬
text switching routine receives the TCBs
of the pre- and post-switch active tasks.
User-supplied extensions to VRTX’s
task management can accomplish a vari¬
ety of extensions to task environments.
A user could choose, for example, to
override VRTX’s automatic allocation of
a fixed-size stack for every task and
interject his own code to manage vari¬
able-size stacks. If working with a nu¬
meric coprocessor or other high-speed,
tightly coupled device, a user could
extend VRTX to save and restore both
the device’s registers and the main pro¬
cessor’s registers as part of a task’s con¬
text. User-supplied extensions could
even be used to allocate and maintain
large, application-specific data structures
as part of a task’s context, parallel with
but independent of VRTX’s TCBs.
INPUT/OUTPUT EXECUTIVE
The systems architect whose I/O re¬
quirements go beyond the management
of a single stream of serial character I/O
can benefit from the VRTX family’s IOX
software component. IOX supports and
structures the management of concur¬
rent, buffered I/O operations to charac¬
ter, block, and disk devices.
Applications tasks in a system
equipped with IOX are presented with
a simple, uniform interface to a system’s
I/O devices. IOX relieves applications
code of the need to know details of its
devices’ operating characteristics:
whether they interrupt, which physical
ports and I/O instructions are required
to start them working, which transient
error conditions may arise, and so on.
Applications tasks see only a set of ho¬
mogeneous I/O channels that may be
opened, closed, read, written, reset, and
otherwise manipulated (table 1).
IOX’s capabilities are tailored to
the requirements of realtime systems.
In addition to performing basic, direct
I/O to devices, IOX can manage buf¬
fered, asynchronous I/O operations. In
making an IOREAD or IOWRITE call,
for example, an applications task can
specify that the read or write is to be
performed asynchronously—that is,
concurrently with the task’s continued
execution. A task can, in fact, initiate
many asynchronous I/O operations to
the same or different devices, then, us¬
ing IOWAIT, wait for notification that
the operations are complete. Instead of
sitting idle (suspended) while the physi¬
cal reads and writes are performed, the
task is free to proceed with other pro-
Partitioning provides natu¬
ral boundary lines along
which a system designer
can divide free memory to
eliminate system deadlocks.
cessing until it absolutely requires the
results of its I/O requests.
Like VRTX, IOX is a position-inde¬
pendent, device-independent software
module that must be tailored to its
hardware environment by means of
user-supplied, device-specific routines.
A systems programmer extending
IOX to provide access to a particular
device must first determine whether it
is a character , block , or disk device.
Character devices transfer streams of
bytes, usually one at a time; they often
produce unsolicited input, as in the
case of a keyboard. Block devices trans¬
fer data only on request, in sequential,
variable-length blocks. Most printers
and tape controllers are classified as
block devices. Disk devices transfer data
on request in fixed-length blocks and
are capable of random access across a
storage address space.
IOX’s buffering and channeling ca¬
pabilities also provide interfacing to un¬
usual devices that do not fall in one of
the standard categories, or they can be
used for non-I/O functions, such as in¬
tertask communications.
IOX provides a set of generic buf¬
fering, timing, and coordination services
that may be helpful in user-supplied de¬
vice management code. It also provides
a standard model, or template, of I/O
processing logic that a systems pro¬
grammer fills in for each particular
device by supplying device-specific
routines. Interfaces to devices that trans¬
fer a byte at a time follow a scheme of
interaction that is a generalization and
extension of that used in the VRTX
module for character I/O. IOX’s generic
services for byte I/O include automatic
buffering of unsolicited input (type-
ahead buffers) and an optional short-
circuit data path for echoing input char¬
acters back to terminal devices.
Disk and nondisk block-transfer
devices are integrated under IOX by
supplying a device service routine
(DSR), an interrupt service routine
(ISR), and an exception-processing rou¬
tine. DSRs contain the device-specific
intelligence necessary to start devices;
ISRs contain that required to process
completion interrupts; and exception
processors perform special processing
when time-out or other conditions arise
that may affect an operation in progress.
Upon receipt of an I/O system call
from an applications task, IOX consults
internal tables and determines, based
on the I/O channel identified in the
call, which DSR is associated with the
indicated device. It then allocates and
prepares a device service request block
(DSRB), an internal data structure in
which IOX tracks the status of an opera¬
tion as it progresses. The DSRB is
passed to IOX’s request management
. module, which activates the device’s
DSR or queues the request if the device
is busy. When the device interrupts to
signal completion of its operation, the
ISR services the interrupt, interprets the
device’s status, and passes information
to IOX that enables IOX to complete its
processing of the application’s request.
I/O system calls may be given with an
I/O priority level, independent of task
priority, which determines their treat¬
ment relative to other I/O requests.
A device’s exception-processing
routine is activated when conditions
asynchronous with the device’s opera¬
tion arise, requiring special, device¬
specific handling. A device time-out is
one such condition; a request from an
applications task to reset a device is an¬
other. System-wide conditions may arise
that require exception processing for all
devices, such as the detection of an
imminent power failure.
Just as systems architects can tailor
VRTX’s task management by supplying
hook routines to VRTX, they can aug¬
ment IOX’s processing of I/O requests
MAY 1986
83
EGA?
QUADRAM,
OF COURSE.
Move ahead with the Quadram EGA Solution. Together, our
new enhanced monitor and video board deliver the extended
color selection and crisp resolution that makes all your work look
better. And when your work looks better, you look better too.
QuadChrome Enhanced Display
Begin your move with our new EGA monitor, for brilliant
graphics in enhanced mode and bright, colorful displays in
standard mode. A big 13” screen, built-in green/amber switch for
extra sharp text, and a tilt/swivel base combine to bring you
comfortable, easyon-the-eyes viewing.
QuadEGA+ Graphics Adapter
Next, our full-performance EGA board, 100% compatible with
the four PC display standards: Enhanced graphics. Standard
color graphics. Hercules monochrome graphics. And monochrome
text. Across the board compatibility like this means you can use
all your current software ana still be prepared for the future. Plus,
witn both our EGA board and monitor, you get an extended two
year warranty for the ultimate in reliable performance.
Where do you go for EGA performance like this? Your authorized
Quadram dealer, of course. Don’t wait. Move ahead now. For
more information, contact us at One Quad Way, Norcross GA
30093; (404) 564-5566.
The Quadram EGA Solution
BOARD $595 MONITOR $795
CIRCLE NO. 147 ON READER SERVICE CARD
PORTABLE APPROACH
for some or all devices by supplying co¬
operating routines that IOX invokes at
four key processing points: DSRB crea¬
tion, deletion, enqueuing, and dequeu¬
ing. By supplying custom DSRB enqueu¬
ing and dequeuing routines for a disk
drive, a designer can override IOX’s de¬
fault priority ordering of I/O requests,
instead ordering them by disk head po¬
sition or by rotational position.
FILE MANAGEMENT EXECUTIVE
The VRTX family’s FMX components
manage structured hie systems on disk
devices. Hunter & Ready supplies one
version of FMX for the VRTX/86 family,
designated FMX/DOS 86. In keeping
with Hunter & Ready’s other software
components, FMX is device-indepen¬
dent. It creates, reads, and writes hie
systems compatible with DOS 2.1. Later
versions are not yet supported.
Unlike several other commercial
realtime systems, FMX does not rely
upon DOS itself to provide access to
the DOS hie system. FMX stands alone
and manages the structure of informa¬
tion on the disk directly, duplicating the
functions performed by DOS hie man¬
agement code. This approach will keep
Hunter & Ready busy creating new
versions of FMX/DOS as IBM revises
and extends hie system structure with
new releases of DOS; it also will make
VRTX integrators dependent on the
company for continued compatibility
with DOS. An advantage to this ap¬
proach, however, is the powerful free¬
dom it has given Hunter & Ready to
eliminate the DOS hie system’s numer¬
ous realtime drawbacks—most notably
its inability to perform more than one
hie system operation at a time.
FMX operates in close conjunction
with IOX to provide disk volume, direc¬
tory, and hie management services; it
depends on IOX for most of its applica¬
tions interface and all of its physical
disk I/O operations.
Applications tasks call FMX directly
to create, format, query, mount, and dis¬
mount volumes; to create and delete di¬
rectories; and to create, delete, rename,
and manipulate individual hie attributes.
An applications task reads and writes a
hie by making one direct FMX call,
FMOPEN, to associate an IOX channel
with the hie, then performing all subse¬
quent operations by making IOX calls.
The cooperation between FMX and
IOX is a complex but elegant arrange¬
ment. Once a channel has been asso¬
ciated with a hie by a call to FMOPEN,
applications code makes its read and
write requests by calling IOX generic
interface routines. The routines, recog-
TABLE 1: IOX Component
MNEMONIC
FUNCTION
IOCLOSE
Close a channel
IOCNTRL
Perform special or de¬
vice-specific operation
IOGET
Perform buffered read
IOOPEN
Open a channel
IOPUT
Perform buffered write
IOREAD
Perform direct read
IORESET
Reset a channel
IOWAIT
Await completion of
asynchronous I/O
IOWRITE
Perform direct write
The task does not need to know a de¬
vice’s operating characteristics; it
treats all devices the same, and the
IOX module provides the interface.
nizing that the calls reference FMX-man-
aged channels, make intermodule calls
to FMX. FMX uses its knowledge of the
hie system’s logical structure to trans¬
form the application’s requests into
calls back to IOX’s lower-level physical
I/O request processing routines, which
read and write physical disk blocks as
necessary to accomplish the applica¬
tion’s requested hie operations. Despite
its intimate involvement in hie system
operations, IOX remains completely
ignorant of hie system structure.
Because hie I/O is performed
through IOX channels, tasks using FMX-
managed hies enjoy the same variety of
access methods that IOX provides for
nondisk, nonstructured devices: hie I/O
can be buffered or unbuffered, synchro¬
nous or asynchronous. Multiple tasks
can open channels to the same hie and
share its use without making any special
provisions. Alternatively, a task may
open a hie for exclusive use, guarantee¬
ing that no other tasks will successfully
open it until it has been closed by the
exclusive opener.
Random and sequential hie oper¬
ations are supported. Sequential opera¬
tions include those that are data sensi¬
tive—reads and writes that transfer vari¬
able amounts of data terminated by a
special character. A hie user can request
that FMX accelerate sequential opera¬
tions by using a read-ahead/write-be-
hind strategy. When an applications task
reads a block from a channel open in
this mode, FMX anticipates its next call
by reading the next block into memory,
perhaps allowing the task’s next read
request to be satished without requiring
it to wait for a physical disk read. Like¬
wise, write-behind hie write operations
do not automatically cause a writing
task to wait for completion of the physi¬
cal write; the data are buffered and the
task is allowed to proceed. Applications
specify the number of buffers available
for use in each channel’s read-ahead/
write-behind cache when opening a hie.
A task should not obtain incorrect infor¬
mation due to this mechanism. Read
requests will get the most current
information by taking it, if necessary,
directly from the buffer.
Regardless of whether read-ahead/
write-behind management is enabled
on some or all hie channels, applica¬
tions tasks can exercise close control
over how often data are physically writ¬
ten to disk. Write operations can be is¬
sued with a commit option, ensuring
that all resulting disk writes be success¬
fully performed before the calling task
proceeds. Alternatively, a task can en¬
sure that all modihed sectors on a vol¬
ume are physically written to disk by
making the FMX volume management
call FDSYNC (synchronize volume).
TRACER
The VRTX family’s realtime debugging
module, TRACER, allows a systems
developer to observe and control the
operation of a VRTX system from a stan¬
dard terminal. Like debuggers for sin¬
gle-task environments, TRACER allows
the operator to examine, disassemble,
and change the contents of memory
and registers and to control system
execution by setting breakpoints or exe¬
cuting in single-instruction steps. Unlike
generic, single-task debuggers, TRACER
has built-in knowledge of VRTX’s inter¬
nal data structures and can examine and
control a multitasking system without
interfering with its operation.
TRACER can be integrated into a
VRTX system with virtually no change to
other system components. It requires
one serial I/O channel for its communi¬
cations with the operator, but can be
conhgured to share VRTX’s single serial
I/O channel. Under the shared channel
arrangement, the terminal operator can
toggle between VRTX and TRACER with
a single keystroke.
TRACER stays out of the multitask¬
ing environment’s way by running as an
interrupt service routine. It accumulates
operator commands keystroke by key¬
stroke as TRACER terminal interrupts
occur, carrying them out when a new-
line character is received. TRACER
breakpoints are implemented using
software interrupt instructions; break¬
point processing is done within the
confines of an interrupt service routine.
The operator can run the system
either in command or tasking mode,
MAY 1986
85
Carbon Copy lets you
play any program in stereo.
For all you virtuosos who’ve been
searching for the best way to run PCs
remotely, your search is over. Thanks to
Meridian Technology’s Carbon Copy™ The
ultimate software tool for instantly connect¬
ing your PC to any other PC.
Carbon Copy is a remote control
program for IBM PCs, XTs, ATs, and compat¬
ibles. It lets you use your local PC to control
and monitor a remote PC over a communica¬
tions link. And once you’re connected, you
can run any program you wish: application
programs, hardware or software diagnostics,
utilities, you name it.
When Carbon Copy links the two PCs,
their screens, keyboards, printers and disk
drives act literally as one. A keystroke entered
on one is displayed on the other. Simultane¬
ously. It’s almost like living in stereo.
Or being two places at the same
time. In fact, the only thing you can
do to your local PC that you carft
do on the remote PC is change
a floppy disk.
With Carbon Copy running
as a background task on both of the
PCs, you can monitor a program running on
another PC. You can run a program locally
to diagnose a problem at the other end.
You can even install new software at remote
sites from your office PC. All without ever
leaving your chair.
In major corporations, for example,
Carbon Copy lets the support and training
department personnel see what the problems
are on the other end. Instantly. And show
the user how to fix them just as fast. While
he asks and answers questions, and works
with the training staff in real time.
And if you’re at home or on the road?
No problem. You can use your desktop or
laptop PC to access your main PC back at
your office. Or pick up calls and messages
from any telephone, anywhere, anytime.
You can use Carbon Copy as a Local
Area Network link, too. To access the net¬
work from a remote PC. Or bridge
two LANs together. You can
even copy files back and forth
between them.
And talk about easy. Carbon Copy
is so user-friendly, there are no complex
or technical terms to learn. All com¬
mands are simple, menu-driven options.
As if all this weren't enough, Carbon Copy
also features a remote printer capability, which
even works with different makes of printers.
A file transer feature with data compres¬
sion that’s probably the fastest on the market.
And the easiest to use. With it, you can even
do compression on binary data, with blinding
speed, regardless of your modem’s baud rate.
And a virtually foolproof password and
call-back security system.
So, if you’re looking for the ultimate
remote possibility for your PCs, call us at
Meridian Technology. And find out more
about Carbon Copy. It lets you play your
software the way you want it to be
played. In stereo.
Carbon Copy
The remote possibility.
MeridianW/ 7///
Technology / //////
1101 Dove Street, Suite 120
Newport Beach, CA 92660 (714) 476-2224
CIRCLE NO. 188 ON READER SERVICE CARD
PORTABLE APPROACH
switching back and forth between the
two as necessary. In command mode,
applications tasks do not execute; only
the application’s interrupt service rou¬
tines run normally. The operator can
inspect or change memory and break¬
points while the system is suspended.
In tasking mode, the application runs
normally even while TRACER com¬
mands are executed. The operator can
examine the system state while the sys¬
tem is in motion; TRACER warns if it
has captured system state information
when it may be inconsistent.
Normal breakpoints cause TRACER
to switch automatically from tasking
mode to command mode and remain in
command mode until the operator
explicitly resumes multitasking. Break¬
points may also be set with a report-
only attribute; report-only breakpoints
suspend multitasking just long enough
to display a message at the TRACER ter¬
minal, leaving the system in tasking
mode. As many as 16 breakpoints may
be set, and each may be accompanied
by an iteration count. A breakpoint also
can be qualified by a task identifier,
indicating that system execution should
be interrupted only if a particular task
encounters the breakpoint; other tasks
proceed through it normally.
Given a cooperating user-supplied
routine, TRACER supports downloading
of an executable system from a devel¬
opment facility via the same channel it
uses for operator communications.
TRACER can produce formatted displays
of system, task, queue, and mailbox
states and can locate and display all
mailboxes at which tasks are waiting. It
also allows inspection of VRTX’s input
and output buffers. Table 2 is a sum¬
mary of TRACER commands.
DEVELOPMENT ENVIRONMENT
Although Hunter & Ready provides DEC
VAX cross-development tools, DOS is
likely to be the most common develop¬
ment environment for PC-based VRTX/
86 systems. Support is provided in this
environment for software development
in assembly language or in C.
Developers working in assembly
language are supplied with include files
containing external declarations, system
configuration parameter values, and def¬
initions of standard mnemonic names
for system calls, parameter packet off¬
sets, error codes, and so on. They are
also provided with source and relocata¬
ble modules for the components of the
PC DSP. Embedded in the DSP is a sam¬
ple applications system that offers a
working example and point of depar¬
ture for first-time systems builders.
TABLE 2: TRACER Commands,
LABEL
FUNCTION
DB
Display breakpoints
DI
Display input buffer status
DL
Download
DM
Display memory
DO
Display output buffer status
DQ
Display queue status
DR
Display registers
DS
Display system status
DT
Display task status
DX
Display mailbox pends
HE
Help
IN
Input from port
LI
List disassembled code
OU
Output to port
RB
Remove breakpoint
RX
Resume execution
SB
Set breakpoint
SM
Set memory
SR
Set registers
TC
Switch to command mode
TT
Switch to tasking mode
xs
Single-step execution
The TRACER module requires one I/O
channel for communications with the
operator but it can be configured to
share VRTX’s single serial I/O channel.
Ironically, developers working with
Hunter & Ready-supplied assembly
source modules will encounter one of
the very problems that the company
took great pains to avoid in packaging
its basic component modules: develop¬
ment tool incompatibility. DSP modules
do not assemble properly under Micro¬
soft’s current (4.0) assembler; they
require version 2.0. With the older
assembler, systems can be generated
successfully under DOS 31. The offici¬
ally supported development environ¬
ment, however, is DOS 2.1, Microsoft’s
Macro Assembler (MASM) version 2.0,
and linker (LINK) version 2.2.
C language development is sup¬
ported using the Lattice C, Computer
Innovations, or Mark Williams C com¬
pilers. C developers using VRTX/86 in
its standard configuration myst compile
all modules using the large-memory
model. The C DSP contains C header
files and a set of compiler-specific sys¬
tem call interface routines for use with
all VRTX/86 subsystems.
Whether their target systems are
RAM- or ROM-based, developers work¬
ing in either implementation language
can link, generate, and test systems
without committing code to ROM. The
VRTX/86 alternate-media release pack¬
age includes assembly modules contain¬
ing hexadecimal machine language for
VRTX, IOX, FMX, and TRACER, from
which relocatable modules may be gen¬
erated for linking into standard RAM-
based executable files.
If a VRTX system under develop¬
ment runs well enough to terminate
and clean up properly, developers can
generate and run a VRTX system under
DOS, and then return to DOS without
having to reboot.
Documentation for VRTX/86 is im¬
peccable. Documents follow the struc¬
ture of VRTX software: much of the
documentation is device-independent,
describing applications and systems
programmers’ interfaces at a level appli¬
cable to systems running on any 8086
family hardware set. For each of VRTX/
86’s subsystems, a comprehensive docu¬
ment gives the theory of the compo¬
nent’s operation and a summary of its
assembly language interfaces. Com¬
panion volumes give the corresponding
C language calling sequences.
The usefulness of VRTX’s documen¬
tation is enhanced by the inclusion of
highly detailed recommendations for
sequencing software development and
integration tasks. These sections give
the type of information that other ven¬
dors of complex software products too
often leave for the customer to discover
alone—by hard experience.
Configuration-specific information
on the PC DSP is included in a loose-
leaf-bound support documentation set.
DSP documentation gives installation
and system generation instructions and
details die operation of each device
driver, including caveats and debugging
tips peculiar to the XT’s devices.
The support documentation pack¬
age also includes a timing reference
giving detailed rules for computing the
time consumed by VRTX system calls,
context switching, interrupt and I/O
processing overhead, and other system
operations. Still another section consists
of application notes as well as brief ar¬
ticles encapsulating developers’ experi¬
ences in such areas as “VRTX and Cus¬
tom Queues” and “[Constructing]
Dijkstra Semaphores.”
A DOMINANT SYSTEM
Not surprisingly, VRTX has become a
dominant realtime system in the micro¬
processor instrumentation, factory auto¬
mation, and process control markets for
custom hardware systems. It is a mature
product that affords a level of realtime,
multitasking function equaling or
surpassing that found in many mini¬
computer realtime systems.
MAY 1986
87
QNX vs UNIX
What do QNX and UNIX have to do with
architectural design?
The design determines the environment in which you
and your applications must survive. If the shear weight
of the UNIX operating system brings the PC to its knees,
all applications running under it will suffer. Unix was
conceived more than a decade and a half ago and the
product today is the result of modifications, additions
and patches by hundreds of programmers. The result is a
large and convoluted piece of software which needs the
resources of an AT or more.
QNX's superb performance and compact size is the result of
one dedicated design team with a common purpose, and
complete understanding of both the software and the
environment in which it must run. It runs quickly and
efficiently on PCs and soars on an AT. Unlike Unix, QNX is
capable of real time performance and is the undisputed
choice for real time process control, and office systems. You
can buy an OS that offers you a 1 to 3 user dead end on
an AT, OR, you can consider QNX which allows you
anywhere from 1 to 10 users on both PC's and AT's. And
we don't stop there. Unlike other Unix-type systems for
PC's, QNX is also a networked operating system. Not a
patch-on network, but a fully integrated networking system
for up to 255 micros. QNX allows you to start with a
single machine and grow if and as required. There are no
dedicated file servers and you can attach terminals (users)
to any machine. To choose a solution which ignores
networking, is closing the door on your future.
Everyone is talking about Unix like systems, but no one
wants to abandon the tremendous amount of DOS
software available. QNX does not force you to make that
decision. You can run either PC DOS 2.1 or 3.1™ as one of
QNX's many tasks. (DOS File compatibility and DOS
development tools are also available). Don't misunderstand
us. We at Quantum have a great deal of respect for Unix. It
was a major force in moving operating systems out of the
1960's and into the 70's. QNX however, was designed in
Moo die Drive HiTech Park 215 Stafford Rd. Ottawa, Ontario, Canada. K2H 9C1 Phone (613) 726-1893
IBM PC. AT. XT AND PC-OOS ARE REG. TM OF INTERNATIONAL BUSINESS MACHINES CORP. UNIX IS A REG. TM OF AT&T BELL LABS
CIRCLE NO. 239 ON READER SERVICE CARD
the 80's and will be a driving force of the 1990's. Over
20,000 systems have been sold since 1982.
Quantum strongly believes that there are good reasons for
buying QNX, DOS and Unix. If you want more than DOS
and a working alternative to PC Unix, give us a call and we
will discuss your needs.
End-Users, VAR's, OEM's and software developers are
invited to take the QNX challenge.
• A/IULTI-USER: -10 serial terminals per PC, AT.
• MULTI-TASKING: -40 tasks per PC, AT.
• NETWORKING: -255 machines.
-up to 10,000 tasks and 2000
users/network.
-2.5 Megabit token ring.
• REAL TIME: -2800 task switches/sec (AT).
• MESSAGE PASSING: -Intertask communication between
any of 1000's of tasks on any
machine.
• MEMORY: -88K to 110K for QNX.
• PC DOS: -Executes as a task under QNX.
• C Compiler: -Standard Kernlghan and Ritchie.
• Flexibility: -Single machine or networked.
One to thousands of users. Full
resource sharing of disks and
devices on all machines.
• Support: -Online update system allows
downloading of new releases
over the phone.
-Technical support hot line.
• COST: -From US $450
-Cali for runtime prices.
• HARDWARE SUPPORT: -IBM PC. XT AT™ ihnth r M i
PORTABLE APPROACH
VRTX’s design is strong both in its
breadth and its depth. It is broad in that
its function not only covers all the basic
needs of realtime system architects for
tasking, timing, and interrupt process¬
ing, but also meets more advanced
requirements for memory allocation,
buffered I/O, and structured file system
management. VRTX’s design strength is
deep in that its components permit
tailoring, either by parameter-setting or
by user hook routines, at every possible
level of operation, from disk volume
creation through the lowest levels of
task context switching. Its modular,
device-independent design has been ex¬
ecuted well enough to serve as a model
to anyone who is constructing portable,
reusable software.
As a vehicle for constructing PC
realtime systems, VRTX/86 is attractive
both because of its quality and because
the availability of its DSP allows devel¬
opers to start one step past the hurdle
of configuring for the PC’s hardware
set. Users speak highly of VRTX/86’s
clean interfaces, sound implementation,
clear documentation, and Hunter &
Ready’s cooperative telephone support.
Everything has its price, of course,
and VRTX integrators pay the price in
system performance for VRTX’s gener¬
ality. The product’s sophisticated task
scheduling, indirect, intermodule calls,
and tests for the presence of user hook
routines at every juncture consume pro¬
cessing time that could be spent on
applications processing in a leaner,
narrower supporting environment.
Hunter & Ready’s price structure
for VRTX is right at home in the large
corporation, custom hardware integra¬
tion marketplace. It is somewhat alien
in the PC market, where declining
royalty arrangements are common but
software products rarely carry an initial
“hurdle” price as high as VRTX’s.
Customers building a VRTX-based
system must first purchase an R&D
package for each of the modules they
will be incorporating. This includes five
copies of component documentation, a
single set of support documentation,
including instructions for building a
DSP, and a license to make five copies
of the purchased component. A VRTX
R&D package sells for $5,275. IOX and
FMX packages are available for $5,275
and $2,750, respectively, and TRACER is
offered for $2,750. Bundled R&D pack¬
ages combine components at a reduced
total price; a VRTX/IOX/FMX bundle, for
example, can be purchased for $9,975.
The IBM PC/XT device support
package is priced at $2,000. Developers
using PC-based C compilers can pur-
A MEMORY CARD WITH VRTX
Resellers have put VRTX to work in
their products, among them DYAD
Technology, which offers PC/VRTX, a
mapping RAM/ROM memory card that
comes with Hunter & Ready’s VRTX
ROM module installed. A VRTX device
support package, configuration utilities
for VRTX and the card’s memory ar¬
rays, and a demonstration multitasking
program are included.
In addition to the 8KB VRTX
Executive ROM array (expandable to
32KB), the card contains a user ROM
array that accommodates 128KB of
ROM or static RAM in four standard,
28-pin memory devices, and seven
64KB arrays of dynamic user RAM.
The card allows software-con-
trolled memory mapping. The Execu¬
tive ROM array can be mapped into
any available 8KB block in the PC’s
1MB address space. Each of the seven
user RAM arrays may be indepen¬
dently mapped into any 64KB block.
User ROM also can be made to appear
in any block of the address space; its
size is determined by the type of
memory devices installed.
The PC/VRTX card contains two
special bootstrap memory circuits that
can be configured to make 64KB of
user RAM and the same amount of
user ROM available to the PC’s proces¬
sor upon power on/reset. The card
can be configured in this way to allow
user ROM-resident code to gain con¬
trol during BIOS’s ROM scan or,
through use of a patched BIOS ROM,
before or at some other point during
BIOS/POST (power-on self test) exe¬
cution. The card’s bootstrap memory
capabilities can be used to package
dedicated, diskless PC systems.
PC/VRTX’s software device sup¬
port package for its on-board VRTX
module is delivered in two relocatable
libraries for the Microsoft DOS linker.
One supports assembly language call¬
ing sequences; the second is compat¬
ible with the Lattice C (large model)
subroutine linkage. The package is
accompanied by a manual describing
VRTX system calls and DYAD’s PC
device support package.
Depending on its configuration,
this versatile, full-length card can
serve as anything from an ordinary
DOS memory expansion card to a
vehicle for building VRTX-based real¬
time systems either with or without at¬
tached disk storage. (In addition, users
can replace the VRTX Executive ROM
with their own controlling software if
they so desire.)
As of this writing, PC/VRTX is
packaged with release 2.5 of Hunter &
Ready VRTX, which does not support
integration with Hunter & Ready’s
other silicon software components.
—Richard M. Foard
PC/VRTX: $1,495 with 64KB dynamic
RAM; $1,695 with 448KB
DYAD Technology Corporation
4040-G Sorrento Valley Blvd.
San Diego, CA 92121
619/450-1761
CIRCLE 354 ON READER SERVICE CARD
chase C interface libraries for VRTX
($500), IOX ($750), and FMX ($500) or
all three together for $1,800.
Customers past the development
stage purchase software components
just as they would quantities of other
standard semiconductor parts, on a de¬
clining price schedule (the purchase of
an R&D package is a prerequisite to
volume purchases of VRTX compo¬
nents). Copies of VRTX and IOX are
$200 for quantities of one or $75 each
in quantities of 100. FMX is $100 for
one and $35 in quantities of 100.
As packaged by Hunter & Ready,
VRTX is almost certainly not the system
of choice for a developer building a
one-of-a-kind or even a ten-of-a-kind
system. In larger-scale product develop¬
ment efforts, however, its technical mer¬
its quickly outweigh its initial cost.
VRTX is not, in fact, out of reach
for integrators who are producing mod¬
est numbers of systems. Resellers such
as DYAD Technology (see the accom¬
panying sidebar) are able to make VRTX
available in small quantities at a much
lower effective unit price.
VRTX is a standard-setting product
of high quality that provides an excel¬
lent implementation base to developers
of microprocessor realtime systems. Its
availability in a PC-configured package
will assure it a growing role as the
application of PCs in realtime settings
continues to broaden.
VRTX/86: see text for price schedule
Hunter & Ready, Inc.
445 Sherman Avenue
Palo Alto, CA 94306-0803
415/326-2950
CIRCLE 353 ON READER SERVICE CARD
Richard M. Foard is a software consultant
who specializes in realtime systems design.
MAY 1986
The database usee
nowbeusec.
Introducing dBASE III PLUS:
The PLUS stands for all the improvements
we’ve made to the world’s number one selling
database management software.
Jp
Create
Update
Position
Database file
Format
U iew
Query
Report
Label
Ret
The Assistant helps beginning users ammplish day-to-day data
management tasks without programming.
Mind you, dBASE III PLUS still has the
powerful dBASE programming language, dot
prompt, and all the features that have made
dBASE III the standard of the industiy
We’ve simply raised the standard.
And just as dBASE III introduced more
power to the people, our new dBASE III PLUS
introduces more people to the power
People who aren’t all that crazy about
programming, for example.
The Assistant feature in dBASE III PLUS
now provides them with new easy-to-use
pull-down menus for creating, using and
modifying multiple databases.
So now anyone who can manage a
simple cursor can manage day-to-day data
management tasks. Without programming.
And by using our new Screen Painter,
anyone can create custom screens. Without
programming.
Or using Vie\y access related information
in several databases at one time. Without
programming.
With Advanced Query System, another
new non-programming feature, any user can
build complex queries just by selecting from
the dBASE III PLUS pull-down menus.
For rapidly creating entire programs,
there’s even a new Applications Generator.
And for all those who wish to learn to
program, the Assistant can be of further
assistance. By teaching you programming
commands as you go along. Without disrupting
your work flow
These are only a few of the dBASE III PLUS
features that can help new users quickly get
up to speed. And experienced users quickly
increase their speed. (Sorting, for example,
is up to two times faster and indexing up to
ten times faster than dBASE III.)
Display
Field Name STATE
Operator hatches
Constant/Expression "NY"
Ho combination
Combine with .AND.
Combine with .AND..NOT.
Combine with .OR..HOT.
Line
Field
Operator
Constant/Expression
Connect
1 1
1 STATE
hatches
''NY”
.OR.
2 I
| STATE
hatches
"DE"
) .AND.
3 1
[ PROD DESC
hatches
"LH Bass Lures"
| .AND.
4
5
6
7
ORDER DATE
hore than or equal
11/01/85
)
Mfti&Lm'ilHiflifl
Set Filter
Select a logical connector for the filter condition.
Advanced Query System lets you set up and answer complex
queries mthoutprogramming.
And it’s the fastest way to network those
users, too. Because now, true multi-user capa¬
bilities for local area networking are built right in.
dBASE III PLUS can also help put developers
in the fast lane. With a new Data Catalog and
more than 50 new commands and functions.
Plus code encryption and linking, improved
debugging aids, assembly language calls and
much more.
For the name of the Ashton-Tkte® dealer
nearest you* call 800-437-4329, Extension
2830!*
And get your hands on dBASE III PLUS.
It’s the software more people can look
forward to using.
CIRCLE NO. 135 ON READER SERVICE CARD
‘Upgrades are available to all dBASE III owners. “In Colorado call (303) 799-4900,.
Extension 2830. Requires IBM*PC or 100%compatible.'IYademarks/owners: Ashton-Thte,
dBASE III PLUS/Ashton-Thte; IBM/International Business Machines Corp.
© Ashton-Thte. All rights reserved. 1986.
AshtonTate _
dBASE III PLUS
The data management standard.
COMPANY MISSION
His company has sent him on a
mission to expand its IBM PC
capabilities without bursting
the DP budget.
He’s the company PC expert with more years
experience—and more actual “hands-on” time
with microcomputers—than any of his col¬
leagues. And he (like 75,000 other PC experts)
reads PC Tech Journal every month. It keeps
him up to date and well informed. His corporate
responsibilities demand it.
The source for advanced PC experts
He (and 75,000 PC experts like him) read PC Tech
Journal every month. He uses the information
in Tech Journal to stay up to date and well-in¬
formed. His corporate responsibility demands it.
So it’s no surprise that PC Tech Journal is his
favorite IBM PC / compatible magazine. Tech
Journal articles get to the heart of the matter
without sidestepping the complex details
required to thoroughly understand how a task is
completed.
Right on target
He recalls reading two articles in
that will be of help to him in this
Chaturvedi’s tutorial on tree
second on programming for the
3270-PC by Armen Harian and
Jeffrey Krantz. Tech Journal
works for him—that’s what
keeps him such a loyal reader.
Power buyers that dig through
PC Tech Journal year round
Being the company trouble¬
shooter means having the
answers. And part of the
answer is knowing what
ucts are available and
where to find them.
Over 60% of PC Tech
Journal readers, rate
articles and advertise¬
ments “extremely”
Wvf
If
V Sf?0.^S?- SggJ&C
<N, v> *s>t« ^JSyS^h <st<
■*mm*&U
' m
nni
helpful as sources of buying information—more
helpful than manufacturers’ literature, salesmen
and dealers, articles and advertisements in general
magazines...
So put your products where PC experts look for
them. Call your PC Tech Journal sales representa¬
tive to reach 75,000 power buyers who unearth
your products as they dig through PC Tech Journal
every month.
in
OURNAL _
Unmatched power in your market
iHm
If your company recently sent you on a mission, wed like to hear.about it.
Please write: Mike Federle, PC Tech Journal, One Park Avenue, New York, N.Y. 10016
Breaking
the 32MB Barrier
E verything has its limits, and DOS
is no exception. Common wisdom
(and some IBM documentation)
holds that DOS is limited to supporting
hard-disk volumes of 32MB or less and
that a single physical disk can have, at
most, one active DOS partition or logi¬
cal unit. This is not true in all cases.
While the 32MB limit may prevail
when using standard IBM software,
DOS volumes much larger than 32MB
may be supported using one or more
physical disks of any size.
Winchester disks with capacities
greater than 32MB have been available
for a while and recently have dropped
in price as their use has become more
popular. These disks have been sup¬
ported on PCs by software that allows
them to appear as multiple logical vol¬
umes, each containing up to 32MB.
This approach has its advantages.
In network applications, each user has
read/write access to his own volume,
apart from other users..Smaller volumes
offer performance advantages because
directory and file allocation table
searches are faster. Damage from run¬
away programs or user errors are more
easily limited with small volumes.
For some applications, however,
several smaller volumes may not be
very useful. Many data management sys- •
terns, for example, maintain an entire ; if
No more do hard-disk
volumes have a 32-
megabyte limit. Large
disk storage systems
break that
barrier.
WHEN YOU NEED
ACCESS TO FULL MEMORY,
STRUCTURE,
COMPATIBILITY WITH
GW- & PC-BASICA,
OR
WHEN YOU NEED THE
POWER AND FLEXIBILITY
OF C OR PASCAL...
.. .You need BetterBASIC.
The BetterBASIC compiler has
become the standard by which other
BASICs are evaluated. BetterBASIC is
completely compatible with GW-BASIC and
PC-BASICA when running on IBM PC’s and true
clones. You can load and run your existing BASIC
programs in BetterBASIC. It uses standard Microsoft
syntax and gives you more than 150 additional state¬
ments such as XREF, DEFINE WINDOW, MAKE MOD¬
ULE, and PROCEDURE. In benchmark comparisons,
BetterBASIC is five times faster than interpreted BA¬
SIC. There is optional 8087/80287 math chip support,
and an optional Runtime System to create stand-alone
EXE. files. BetterBASIC is not
copy protected. Technical support is
provided for all registered users.
See for yourself why Dick Aarons of PC Magazine
said “BetterBASIC may be the best of all BASIC pro¬
gramming worlds” and selected BetterBASIC as
“Editor’s Choice” (Oct. 29,1985).
BetterBASIC
8087/80287 Math Chip Support
Runtime System
Sample Disk with Tutorial
Ask your dealer
or call to order:
$199
$99
$250
$10
1 - 800 - 225-5800
BetterBASIC is a registered trademark of Summit Software
Technology, Inc. IBM PC, XT, AT, and Microsoft are registered
trademarks of International Business Machines Corp.
Ttndy is a registered trademark of Tmdy Corp.
CIRCLE NO. 195 ON READER SERVICE CARD
Summit Software Technology, Inc?
106 Access Rd. Norwood, MA 02062
32MB BARRIER
The large disk storage systems come in a variety of forms. Shown clockwise from the top (a) Racet PCMS-150, (b) GAW 65MB
external drive, (c) Tallgrass TG-6180, (d) Emerald Series 4000/1 PS70, (e) Bell B86, (f) Express 72F-1, and (g) Core ATplus.
database as a single DOS file. If a DOS
volume is limited to 32MB, then so is
the largest file, because files cannot
span multiple volumes.
Disk systems that provide software
support for single volumes larger than
32MB are now available. Seven such
systems, with usable capacities ranging
from 55MB to 150MB, are reviewed
here: B86 72MB internal hard disk, Bell
Technologies Inc.; Core ATplus 72MB,
Core International; Series 4000/1 PS70
59MB external drive with 60MB tape
backup, Emerald Systems Corporation;
72F-1 external hard disk, Express Sys¬
tems, Inc.; GAW 65MB external drive,
GAW Systems; Racet PCMS-150 150MB
external system, Racet Computes, Ltd.;
and TG-6180 83MB external drive with
tape backup, Tallgrass Technologies.
Each system can be configured with
multiple DOS volumes on a single
physical drive, and the size of any vol¬
ume (except, in a few cases, the first)
can be as large as available disk space.
OUTER LIMITS
DOS is actually a very flexible system,
designed to support a variety of disk
sizes and formats. The apparent 32MB
limit is not a built-in property of DOS,
but simply the maximum volume size
possible using the standard disk formats
supported by IBM. Systems using other
formats are subject to different limits.
This flexibility derives from the
layered architecture of the PC system as
a whole and of DOS in particular. A
computer system can be considered as
a hierarchy of layers, with human users
at the top and servile hardware at the
bottom. In between are many layers of
software and hardware. Each layer takes
abstractions from above and makes
them more concrete for the layers
below. Programs store information in
files, which DOS organizes into vol¬
umes. Each volume has a boot sector,
file allocation table (FAT), directory,
and data area, all of which are struc¬
tures internal to DOS. DOS uses drivers
that view volumes as a series of blocks.
The driver translates logical blocks into
physical cylinder, head, and sector num¬
bers for the BIOS, which in turn trans¬
lates these into actual hardware com¬
mands to the physical drive mechanism.
In a well-designed system, the
interfaces between various layers
should be simple, with complexity con¬
fined inside the layers. For the most
part, DOS follows this principle. In par¬
ticular, the internal structure of directo¬
ries and FATs does not need to be
known outside DOS, either to the user
programs above or the drivers below.
DOS uses some shared data struc¬
tures to allow its various components to
adapt to differences in physical and
logical disk organization. The BIOS pa¬
rameter block, or BPB, (see table 1) de¬
fines the physical layout of a DOS vol¬
ume: sector size, cluster size, number
of root directory entries, FAT size, and
total volume size. DOS obtains a copy
of the BPB for each volume from its
drivers. The drivers, in turn, generally
find a copy of the BPB (with some
physical drive parameters appended) in
the first sector of the disk volume, al¬
though they need not keep it there.
Most disk drives used in PCs, and
all drives currently supported by IBM,
use a physical sector size of 512 bytes.
Because the BPB has only a 16-bit word
for the total number of sectors in a log¬
ical volume, the limit for IBM format
volumes seems to be 512 * (2 16 - 1),
or 33,353,920 bytes. This is the basis
for the 32MB boundary; it is, in fact, a
restriction of die volume size to no
mofe than 65,535, or 2 16 - 1, sectors.
The BPB, however, also contains an en¬
try for the number of bytes per sector.
Clearly, doubling the sector size
doubles the volume size if the number
of sectors stays the same. With maxi¬
mum size sectors, volumes could grow
to be more than 4.2 billion bytes.
If adjusting one word in a table
were all that was required, breaking the
32MB barrier would not be difficult.
Disk boundaries would not be a con¬
cern (until 4.2 gigabytes begins to seem
small). Obviously there is more to it.
MAY 1986
97
PHOTOGRAPH • CHRISTINE ARMSTRONG/BLAKESLEE-LANE
WHAT'S A GIGABYTE?
Suppose you color-in each small square on this page. There are 10,000 squares.
Good News...
GIGAfile™ comes with every CORE hard disk in excess of 32MB capacity
so you don’t have to partition the drive into logical volumes. Unless you want to.
The DOS limitation of 32MB file size is no longer a barrier with GIGAfile™ and the
higher capacity mass storage devices from CORE International
You can have files and/or directories as big as a full gigabyte.
On files this big you could maintain a nearly unlimited customer-lead file with hundreds of
thousands of names and addresses for a successful direct mail campaign. Physicians and Attorneys can
now have detailed patient and client files electronically stored, thus relieving pressure on hard-copy file space.
Since no single PC hard disk yet can store a Gigabyte, GIGAfile™ makes it possible to have your files
expand across as many as eight physical storage devices. For example, you can install two CORE 72MB High
Performance hard disks in an IBM PC-AT or compatible and have one huge 144 MB file resident! Your sys¬
tem will see both drives as one device. And the CORE Drives support large files under XENIX™ too.
And as CORE’S near-future mass-storage development yields even higher capacity devices, you’ll be
ensuring your capability for future storage growth. The time is rapidly approaching when multi megabyte
spreadsheets and 100MB, 300MB or even larger databases will be common.
Some even as big as a Gigabyte. And that’s like 100,000 pages of grids like the one above, each with
10,000 squares, to give you an idea of just how big a "Gig" really is. One Billion Bytes. 1,000 Megabytes.
1,000,000,000 characters of information. GIGAfile™.
So call us now. Learn more about how GIGAfile™ can help you avoid hardware obsolesence,
take care of today’s storage needs and ensure future capacity.
Remember, you can only get GIGAfile™ with the 40, 56, and
72MB high-performance drives from CORE. So why wait?
You have nothing to lose, and everything to save. Everything.
CIRCLE NO. 179 ON READER SERVICE CARD
CORE
INTERNATIONAL
7171 North Federal Highway □ Boca Raton, Florida 33431 D 305/997-6055
e 1986 CORE International Inc. XENIX is a trademark of Microsoft. Inc Crayola® is a registered trademark of Blnney & Smith. Inc GIGAfile is a trademark erf CORE International Inc
32MB BARRIER
TABLE 1: BIOS Parameter Block (BPB)
OFFSET
SIZE
DESCRIPTION
BOOT CODE/OEM ID
OOH
3 bytes
DOS 2.1: 3-byte NEARJMP (E9H,xx,xx)
DOS 3.x: 2-byte SHORT JMP (EBH,xx)
followed by NOP (90H)
03H
8 bytes
OEM name/version (e.g., IBM 3.1)
DOS BIOS PARAMETER BLOCK
OBH
WORD
Sector size (bytes per sector)
ODH
BYTE
Cluster size (sector per cluster, must be a power of 2)
OEH
WORD
Reserved sectors (starting at logical sector 0, usually 1 for
boot block)
10H
BYTE
Number of FATs, usually 2
11H
WORD
Number of root directory entries (32 bytes each)
13H
WORD
Total number of sectors in the logical disk image (volume)
15H
BYTE
Media descriptor (F8H for nonremovable fixed disks)
16H
WORD
FAT size (number of sectors in one FAT)
ADDITIONAL INFORMATION FOR IBM STANDARD DRIVER
18H
WORD
Sectors per track
1AH
WORD
Number of heads (surfaces)
1CH
WORD
Number of hidden sectors (from start of disk to logical sec¬
tor 0 of this volume)
The BPB is returned by block device drivers to DOS. IBM’s format utility writes a
BPB at the beginning of the first sector of each DOS volume. This sector is called
the boot sector and the offsets given are from the beginning of the boot sector.
Suppose a user wants to handle a
single volume between 64MB and
128MB, so he settles on a sector size of
2,048 bytes. The maximum sector size
for most disk controllers is 1,024 bytes.
Even if the controller could format
larger sectors, it would not help much.
The hard-disk boot code in BIOS as¬
sumes a physical sector size of 512, and
larger (or smaller) sectors would fail
the controller’s CRC check.
Sticking with 512-byte physical
sectors seems the convenient solution
to the problem. What is needed are
logical sectors made out of four physi¬
cal sectors. One answer would be a
loadable DOS device driver that simply
says the sectors are 2,048 bytes long
and transfers four physical sectors for
each logical sector. This is, in fact, what
most of the vendors of the reviewed
storage systems do. Additional problems
must be solved, however.
Booting from the large disk is
desirable, especially if it is the only
drive installed in the system. One way
to accomplish this is to put at the be¬
ginning of the physical disk a small vol¬
ume that can be booted with standard
DOS, which then loads the special de¬
vice driver from the boot volume. This
is the method used by Tallgrass Tech¬
nologies and Core International.
A somewhat more convenient
method is to have the entire physical
disk be a single large volume that can
be booted, especially if it has batch files
and programs containing hard-coded
references to the C: drive. The Bell
Technologies, Express, and GAW sys¬
tems all offer a form of Vfeature Deluxe
software from Golden Bow Systems,
which supports a single, large, bootable
volume. Emerald and Racet Computes
offer their own proprietary software to
provide the same function.
Emerald’s approach is unique in
that it does not use a loadable driver in
the usual sense. Instead, Emerald
replaces the entire set of standard DOS
drivers, contained in the hidden system
file IBMBIO.COM, with its own version.
This is a somewhat daring approach,
because the DOS-to-internal driver
interface is not published and is subject
to change. Tallgrass and the three
Vfeature-equipped systems all patch
the IBMBIO.COM file to effect changes.
For this reason, they require DOS 3.1.
The business of patching or replac¬
ing the standard DOS drivers bears fur¬
ther examination. Apparently, it is not
strictly necessary—neither Racet nor
Core do it. Golden Bow Systems,
vendor of the Vfeature Deluxe software,
explained it simply changes the sector
size in the IBMBIO.COM initialization
code and corrects an obscure bug in
the write logic. The Tallgrass patch
changes a single instruction in
IBMBIO.COM from one loading a value
stored in a variable to one loading an
immediate constant value. The patches
seem to be small and manageable. The
important questions for users are the
efficacy and reliability of the solution.
ENVIRONMENTAL ISSUES
Peaceful coexistence is more than a
geopolitical strategy of the sixties; it is
what every PC user has the right to ex¬
pect from system components. When¬
ever any component moves away from
the IBM standard, this issue becomes
critical. Breaking the 32MB barrier in¬
volves special considerations.
For this review, the Bell and Core
systems were tested on a PC/AT, and the
remaining products were tested on ei¬
ther a standard PC or PC/XT. All are
also available in AT configurations. The
Bell B86 comes only in a configuration
for ATs and is delivered with cables and
mounting hardware for internal installa¬
tion as the first or second drive. The
Core drive will connect to the XT’s
fixed-disk controller, and Core offers a
controller to adapt its product to the PC
for an additional $493.
The Tallgrass TG-6180 uses a host
adapter that can coexist with existing
hard drives on the XT. Furthermore, the
Tallgrass software does not affect the
original XT fixed-disk drive, so it can be
added to a system full of files with no
adverse effect on the original volumes.
(Any system should be fully backed up
before hardware components are added
or removed.)
All systems except for Tallgrass use
controllers that cannot coexist on the
same bus with an XT-compatible con¬
troller. Some suppliers provide cables
to allow connecting the original drive
and the new one to the same control¬
ler. Golden Bow’s Vfeature software is
particularly flexible in accommodating
various combinations of drives and con¬
trollers. This is to be expected, because
it is sold largely to dealers who package
it with a variety of systems. GAW Sys¬
tems specializes in customized configu¬
rations and offers many types of drives,
controllers, and custom ROM chips to
make them all operate together.
Compatibility is much harder to
predict in software than hardware. Well-
behaved programs should not make any
assumptions about sector sizes. Pro¬
grams that do direct logical block trans¬
fers using DOS interrupts 25H and 26H
need to know the logical sector size,
which can be obtained using DOS func¬
tion 1CH. IBM’s DOS Technical Refer¬
ence calls the sector-size figure
returned by DOS function call 1CH the
MAY 1986
99
32MB BARRIER
TABLE 2: Drive Performance
VENDOR
BELL 3
CORE 3
EMERALD
EXPRESS
GAW
RACET b
TA1LGRASS
PHYSICAL DATA
Sector size
512
512
256
512
512
256
512
Sectors/track
17
17
17
17
17
32
20
Heads
10
9
7
11
7
8
9
Cylinders
829
923
986
753
917
1,699
912
LOGICAL DATA
Sector size
2,048
2,048
1,024
2,048
1,024
2,048
2,048
Sectors/cluster
8
4
4
8
16
1
4
Bytes/cluster
16,536
8,192
4,096
16,536
16,536
2,048
8,192
Total file space
Sectors
35,232
35,419
58,310
35,202
54,560
60,528
40,725
Bytes
72,155,136
72,538,112
59,709,440
72,093,696
55,869,440
123,961,344
83,404,800
DISKP TIMINGS (milliseconds)
Track-track
4.44
4.66
3.78
12.13
6.92
3.40
5.82
Average
12.96
12.63
14.99
(346) c 26.96
(25) 27.02
6.64
14.17
Random
20.92
20.76
25.54
(199) 45.25
(50)45.86
8.78
22.02
BENCHMARKS (milliseconds)
Sequential read
Sectors traveled: 1
25
11
19
30
27
27
11
8
91
99
63
146
181
115
93
16
_d
—
110
—
368
—
—
24
—
—
165
—
434
—
—
Random read, 1 sector
% of disk traveled: 10
29
30
45
59
56
41
56
33
47
38
52
84
81
48
67
50
45
56
70
93
88
49
73
90
62
71
95
135
122
65
93
Random read, 8 sectors
% of disk traveled: 10
93
382
80
176
146
124
140
33
107
126
96
198
170
132
151
50
118
143
115
206
176
132
157
90
126
157
129
250
203
151
176
a Tested in the AT; all others tested in the XT.
b Uses 8-inch media; all others use 5 l '4-inch media.
c The number of errors encountered during each timing is indicated in parentheses.
d This benchmark does not work correctly for sector sizes over 1,024 due to buffer size limitations.
DISKP uses direct BIOS access, which does not recognize FAT bad-sector marking; performance figures reflect failed retries on
bad blocks. Under DOS, bad sectors do not degrade performance. Note that timings for Bell and Core reflect AT installation.
physical sector size, but in fact it is
whatever sector size is reported back by
the driver for the queried volume.
Once patched for larger logical sector
sizes, DOS always returns the larger
patched value for function call 1CH.
Well-behaved programs that use 1CH
should function correctly with any of
the disk systems tested. In practice,
however, a user will not ordinarily dis¬
cover whether or not a program is well-
behaved by these criteria until it fails.
During testing, some SuperLok-pro-
tected programs could not be installed
for key-disk-free operation on volumes
with a sector size of 2,048. The pro¬
grams could be run from the large vol¬
ume using the key disk, but the installa¬
tion procedure, which writes hidden
copy-protection information on the
hard disk, failed with an error message
from the install program. One less-than-
perfect solution for this type of prob¬
lem is to install the program files them¬
selves on a smaller DOS volume with
standard 512-byte sectors, but direct
data files to the large volume. Softguard
Systems, the manufacturer of SuperLok,
is working on a solution to this prob¬
lem. Among companies using the
SuperLok form of copy protection are
the Lotus Development Corporation
and AshtonTate.
HIGH PERFORMANCE
All of the high-capacity drives per¬
formed much better than standard XT
10MB drives. This is primarily due to
faster seek times. Performance was
measured with the PC Tech Journal
benchmarks (“Fixed-Disk Benchmarks,”
William J. Hunt, November 1984, p. 64),
modified to accommodate larger sector
sizes, and with the DISKP program from
Core, which measures track-to-track and
average seek times. The results are
summarized in table 2.
The specific benchmark results
may be difficult to correlate with one
another, because the disk sizes and
parameters differ considerably from
unit to unit, and the Core and Bell
systems were tested on an AT, while the
others were tested on an XT.
Most disks have some bad sectors
that are marked as such in the FAT and
not used by DOS for file storage. When
performance tests that do direct disk
reads of random sectors using INT 25H
encounter these bad sectors, the result-
100
PC TECH JOURNAL
Especially Turbo Pascal users!
to Modula-2 with ease
*1 -a • i
r ou can cross the bridge
This is Modula-2 at its absolute best. It’s a fully integrated development
environment that takes into account what you need as a programmer. Without leaving
the Editor, you can call the compiler, linker and utilities.
With Logitech’s Modula-2, you’ll have the ability to edit several files at once,
comparing, window to window, various code modules. You can even move from
window to window compiling, linking, debugging and running.
The compiler has the kind of power and room to breathe that you really need in
today’s complex applications. It is as easy to use as Turbo Pascal, without your
programs being limited to 64K of code.
At your command will be the libraries of modules that make Modula-2 a
programmer’s dream. It has essentially the same structure as Pascal with the major
addition of a library organization of code modules that allow you to put together
programs on a solid, block-by-block, foundation of proven code.
Whether you’re working with a module of your own making, or one of the many in
our library, you’ll find the system by which each module is identified, described and
stored an organizational masterpiece. And that’s at the heart of Modula-2.
Underneath the sophisticated system is a Modula-2 compiler that is the result of
years of development and proven use in industry. We run on the Vax*, and we run on
the IBM PC. And the code is portable-from one to the other.
Best of all ... you can have it right now!
To place an order call our special toll free number
800 - 231-7717
in California
800 - 552-8885
Logitech Modula-2/86 Complete with Editor,
SCO ^ un Time System, Linker, Cursor-posi-
*0? tioning debugger, 8087 Software Emula¬
tion, BCD module, Logitech’s extended
library, Utility to generate standard .EXE
files, Turbo Pascal (and standard Pascal,
too) to Modula-2 translator (included
without charge until 8/1/86)> and much,
much more!
Logitech Modula-2/86 with 8087 support Even if
SlOQ^ 011 haven’t y et g ot ten an 8087 co-pro-
cessor, you can still use this version.
Logitech Modula-2/86 Plus For machines with
S1QQ 5I2K or more - Takes advantage of the
*16^ larger memory to increase compilation
speed by 50%! Supports 80186 and 80286
as well as 8086 and 8088. Includes 8087
and 80287 support, too.
Window Package Now you can build true win-
S/l Q dowin g ‘ nt0 y° ur Modula-2/86 code with
ease, too. Very powerful and very full, yet
only 15K in size. Features virtual screens,
color support, overlapping windows and a
variety of borders.
Run Time Debugger (source level) Much more
c/'q powerful than just a symbolic RTD.
Display source code, data, procedure call
chain and iaw memory. Set break points,
assign values to variables, pinpoint and
identify bugs in your source. The ultimate
professional’s tool!
Utilities Package Features a post-mortem de-
0 bugger for static debugging. If a program
you’ve written crashes at run time, the
situation is frozen, and you can pinpoint,
in source, the cause of the error and the
data at that moment. Also includes a
disassembler, a cross reference utility and
a “version” utility that allows conditional
compilation.
Make Utility Automatically selects modules af-
SOQ f ected b y code changes for quick and
minimal re-compilation and relinking.
Even figures out dependencies for you.
Library Sources Source code for our major library
SQO modu ^ es now available-for customiza-
V7 tion or exemplification.
ROM Package If you need to produce rommable
code, call our 800 number for further
information on this package.
Yes,
I’d like to take the next
5 logical step in programming.
Please send my copy of Logitech Modula-2/86
to the following address:
□ VISA □ MasterCard □ Check Enclosed
Card Number
Signature
Expiration Date
Name
Address
City
State Zip
Phone( )
And include the indicated items:
□ Window Package $49
□ Run Time Debugger $69
(source level)
Here's the configuration I’d like:
□ Logitech Modula-2/86 $89
□ Logitech Modula-2/86 $129
with 8087 support
□ Logitech Modula-2/86 Plus $189 □ Utilities Package $49
Please add $6.50 for shipping □ Make Utility $29
and handling. □ Library Sources $99
Total enclosed $_
(California residents, please add applicable sales tax)
H LOGITECH
LOGITECH, Inc.
805 Veterans Boulevard
Redwood City, California 94063
Telephone (415) 365-9852
For European pncing, please contact:
LOGITECH SA
Box 32, CH-1143 Apples, Switzerland
Telephone 41 (21) 774545
Please call our 800 line for: □ Information on our *VAX version □ Site License and University Discounts □ Dealer and Distributor information
CIRCLE NO. 229 ON READER SERVICE CARD
*Turbo Pascal is a registered trademark of Borland International
Get started in AI
with Gold Hill.
You know artificial intelligence is the
wave of the future. Programs based
on the ideas of artificial intelligence
are being written today in Common
Lisp-the new Lisp standard
developed by researchers from
universities and corporations
such as Carnegie Mellon, DEC,
MIT, Stanford, Symbolics
and TI. Lisp allows the devel¬
opment of programs that are
intelligent, flexible, and even
human like. The problem has
been that hardware needed to
run Lisp is expensive.
No longer. Golden Common
Lisp (GC Lisp) makes it possible
for you to learn and use Lisp on
your personal computer. When you
use GC Lisp in combination with the
AI examples provided, you will be
able to develop such exciting appli¬
cations as expert systems, natural
language systems, and intelligent
interfaces to complex software.
The possibilities are endless. With
GC Lisp you can tackle problems
that you could not solve before
with ordinary number crunching
programs. You will be able to write
powerful programs that can accom¬
modate casual computer users who
want intelligible answers quickly.
Learn Quickly with GC Lisp
GC Lisp makes it easy for you to learn
the technology of AI at your own
pace. Each package includes the San
Marco Lisp Explorer —an interactive
software tutorial developed by
Patrick H. Winston and his associ-
ciates. This 800-frame instructional
AI language.
best selling
system guides you through the
steps of Lisp programming and
makes the full range of Lisp’s
power accessible to both novice
and experienced programmers.
The second edition of the classic
Lisp textbook by Winston and
Horn is also included.
GC Lisp comes complete with the
intelligent GMACS editor (based
on EMACS), full on-line documen¬
tation of all GC Lisp and GMACS
functions, the Common Lisp Refer¬
ence Manualby Steele, and a com¬
prehensive user manual. In short,
Golden Common Lisp comes with
everything you need to program in
Lisp.
NEW!
The GC Lisp 286 Developer
Discover programming power you
never thought possible on your PC
AT! GC Lisp 286 Developer is a
complete programming environ¬
ment designed for GC Lisp-based
applications requiring extended
memory and faster execution.
The 286 Developer includes
a Large Memory Interpreter
capable of addressing 15 mega¬
bytes of physical memory, a Large
Memory Compiler that runs appli¬
cations up to 15 times faster, and a
complete set of program develop¬
ment features including lexical
and dynamic scoping. The 286
Developer is the first PC-DOS pro¬
gramming environment that takes
full advantage of the speed and
memory capacity of the IBM PC AT
and compatibles, and it’s now avail¬
able to help you develop powerful
and productive AI applications.
Order Today
For more information on Gold Hill
products, please call today:
1-800-242-LISP
In Massachusetts call collect
(617) 492-2071
GC Lisp requires an IBM PC, PC XT, PC
AT, or IBM-compatible with a minimum
of 512K and PC-DOS 2.0 or higher.
GC Lisp 286 Developer is non-copy
protected, and requires an IBM PC AT or
compatible with a minimum of 512K of
base memory, 2 megabytes of extended
memory, and PC-DOS 3-0 or higher.
© 1986 Gold Hill Computers
GOLD HILL COMPUTERS
163 Harvard Street, Cambridge, Massachusetts 02139
Golden Common Lisp, GC Lisp, and GC Lisp 286 Developer are trademarks of Gold Hill Computers. The San Marco Lisp Explorer is a trademark
of San Marco Associates. Lisp is copyrighted by Addison-Wesley Publishing Company, Inc. The Common Lisp Reference Manual is copyrighted by
Digital Equipment Corporation. IBM PC, PC XT, PC AT, and PC-DOS are trademarks of International Business Machines.
CIRCLE NO. 122 ON READER SERVICE CARD
32MB BARRIER
ing retries by DOS and BIOS cause
much longer access times to be
reported. The number of errors en¬
countered during each test is shown in
parentheses in table 2. These errors
would not occur during normal DOS
file access; performance of these disks
in everyday use should be better than
that shown in the table.
Hardware installation for all of the
systems was simple and straightforward,
whether internally or externally
mounted. Software installation fell into
two categories: easy and not required.
The easy ones (Bell, Core, Emerald,
Racet, and Tallgrass) had clear and sim-
ple-to-understand programs and docu¬
mentation and worked as expected.
The GAW and Express units did
not require software installation be¬
cause the disks came preloaded with
Vfeature Deluxe and DOS 3.1. (The Bell
system also provides Vfeature, but it
must be installed by the user.) Preload¬
ing DOS seems to be in violation of
IBM license rules preventing distribu¬
tion of copies of DOS, even though
only the system proper, without any
utilities, was involved here. This is the
reason many software packages (espe¬
cially copy-protected ones) are shipped
on disks with empty space reserved for
the user to install the operating system.
These manufacturers are obviously
trying to make the installation as pain¬
less as possible for the user. Their
working disks contained DOS 31 and
the installed version of the Vfeature
software configured for the appropriate
physical drive parameters. Unfortu¬
nately, no one included complete infor¬
mation on the drive configuration, al¬
though Express did include a disk man¬
ual that gave the cylinder and head
parameters for its Fujitsu drive.
Ordinarily, users would appreciate
the convenience of quick installation
and set-up. But if the system needed to
be set up again from scratch, some in¬
formation gaps could cause real frustra¬
tion. As a generic document for a vari¬
ety of configurations, the Vfeature man¬
ual contains a worksheet on which to
record the number of cylinders, heads,
and write precompensation and re¬
duced write current cylinders. This in¬
formation is required for making the
working diskette and for getting low-
level formatting to work correctly, but
none of the vendors supplied it.
Vfeature users should perform
their own installation procedure, start¬
ing with the creation of the working
diskette from the master diskette, for
another very important reason: the soft¬
ware checks the type of disk controller
in use and makes some changes to the
installed programs depending on the
type of controller detected. This should
be done on the same controller to be
used in the actual system, or at least
one of the same manufacture.
When the Express disk (which had
been preformatted in an AT at the fac¬
tory) was installed in a PC, nothing hap¬
pened. A low-level format was per¬
formed on the Express disk on the
theory that it might be required due to
controller differences. After nearly
seven hours, which included low-level
formatting, bad block entry, DOS vol¬
ume formatting, and software installa¬
tion, the system finally booted and re¬
ported more than 50MB of bad blocks
on a 72MB disk. The working diskette,
which Express so conveniently sup¬
plied, had also been created on an AT
and thus embodied some false
assumptions. The working disk was
recreated from the master disk, using
the clear and adequate instructions sup¬
plied in the Vfeature manual. The low-
level and DOS formatting process had
to be repeated, although it took only
about 2 Vz hours the second time.
THE PRODUCTS
Vfeature Deluxe, the software written by
Golden Bow Systems to support vol¬
umes larger than 32MB, is used with
the Bell, Express, and GAW units. It
supports a variety of disks with any
number of cylinders and 16 surfaces us¬
ing XT- or AT-compatible disk control¬
lers (although IBM’s XT controller will
not support disks with more than eight
surfaces). Vfeature does not depend on
the default drive parameters in the con¬
troller’s hard-disk BIOS, thus, any physi¬
cally compatible drive and controller
combination can be used.
Vfeature supports multiple logical
DOS volumes on a single disk, single
volumes larger than 32MB using logical
sectors larger than 512 bytes, and logi¬
cal volumes that span two disks.
The software provides several
levels of security options. Logical vol¬
umes can be password protected from
all access or just write protected. Provi¬
sions for read and write protection of
diskette drives are included to prevent
unauthorized export or import of pro¬
grams and data. For serious diskette
security, Golden Bow offers FiXT/S, a
PROM option for PC and XT machines
that can disable diskette booting.
The Vfeature package includes a
menu-driven configuration program that
allows low-level hardware formatting,
drive partitioning, volume and pass¬
word assignment, and DOS formatting
Number One
In Performance
Hard Disk
Intelligent
VCR Backup
for AT/XT/PC
FEATURES
• High speed microprocessor
controlled backup ( 68000 )
• Two channel interface
• Built in LAN channel
• Software control of most VCR
functions including Fast Forward,
Rewind, and auto backup using VCR
timer capabilities
• Economical VHS or Beta formats
West: 4704 W. Jennifer. Suite 105, Fresno. CA 93711.209/276-2345
East: 67 Grandview. Pleasantville. NY 10570, 914/747-1450
Distributor: Telemarketing Services. Inc.
1897 Garden Ave.. Eugene. OR 97403. 503/345-7395
CIRCLE NO. 237 ON READER SERVICE CARD
MAY 1986
103
Everybody is rushing to install a local area
network. But the smart buyers are hitching
their wagons to the LAN that gets results.
TiaraLink is the price/performance
leader.
You need a local area network to share
your important business data. You must
have speed...You want performance.
Independent studies published in PC TECH
JOURNAL and Mini-Micro Systems]- confirm
TiaraLink performs significantly faster than
3Com Etherseries*, Corvus Omninet*, or
Orchid PCnet*. And comparably to Novell
NetWare*. So we're fast!
Now, new enhancements simplify network
installation. Operating TiaraLink is as easy
as ever. Unique features including CHAT,
for network messaging, and IAP**
simplify accessing of network printer.
And TiaraLink is no stranger in town.
Around for three years, we've
installed over 2,000 networks for
TiaraLink 7
Leads
the LAN
Rush.
Our Prices Leave Everybody
Else in the Dust!
IBM* PC, XT, AT, and compatibles.
TiaraLink is the proven LAN.
TiaraLink is definitely a front runner in
performance. But what about price?
Well, most companies charge you a
large chunk of money for every station
or file server you need. The TiaraLink
network card is only $495, and a one
time purchase price of $500 gives you
systems software to operate the
entire network — up to 255 nodes.
Our prices leave everybody
else in the dust!
Don't get trampled in the LAN Rush.
Investigate the LAN that offers top
performance at the lowest price:
TiaraLink. Call us at 1 - 800 - 423 - 1268 .
In California call 1 - 800 - 325 - 6223 . Or
write to us for more facts on TiaraLink.
Dealer and manufacturer
representative inquiries invited.
7/mjza
W COMPUTER SYSTEMS, INC.
tCopies available upon request. * 'In-Application Printing.
2685 Marine Way • Mountain View, CA 94043 • (415)965-1700 • TLX 4996251 • FAX (415) 965-2677
Trademark/Owners: TiaraLink is a registered trademark of Tiara Computer Systems. Inc.; IBM/International Business Machines Corp.;
Etherseries/3Com Corp; Omninet/Corvus Systems, Inc.; NetWare/Novell. Inc.
CIRCLE NO. 182 ON READER SERVICE CARD
32MB BARRIER
that allows the user to control the allo¬
cation unit (cluster) size.
Users with hard disks larger than
32MB but without software support for
large volumes should consider Vfeature
Deluxe. It is reasonably priced at $120,
with technical support available by tele¬
phone. DOS 3.1 is required.
B86 (Bell Technologies). Bell Technolo¬
gies sells to the UNIX market. Its 72MB
internal drive is for the AT only and
comes with two different installation
manuals and software sets—one for
XENIX and one for DOS. A pair of ROM
chips replaces the original IBM set. The
ROMs, which support XENIX installa¬
tions, differ from the IBM version only
in the drive parameter table for drive
types 7 and 8. DOS users do not need
to install them, because Vfeature over¬
rides the built-in drive parameters.
Bell provides very good installation
and set-up documentation, with check¬
lists throughout. It is complete without
being massive. One very nice touch is a
one-page “Read this if You Hate to Read
Manuals” instruction sheet. Unfortu¬
nately, if the drive is unformatted (and
Bell now ships mostly unformatted
drives) the long-form installation is nec¬
essary, starting with a low-level format
that takes 30 minutes for a 72MB drive.
Bell uses a Toshiba drive.
Core ATplus (Core International). The
Core 72MB system is intended for use
with the AT and comes with a pair of
ROMs that are installed in the two
empty sockets in the AT system board.
Older ATs may have all four ROM sock¬
ets occupied; for these systems, Core
will exchange the old set for a new
two-chip set of official IBM AT ROMs.
(Core is an authorized IBM dealer.)
Installation instructions are brief,
but adequate. One possibly confusing
error involves a description of the sig¬
nal cable from the hard-disk unit: the
installation instructions describe the
orientation of the signal cable attach¬
ment to the AT disk controller board in
terms of an arrow on the connector and
a blue wire; in fact, the connector has
no arrow and the wire is red, not blue.
ATplus’s Control Data Corporation
drive is very fast and seems especially
rugged. These are evidently the major
advantages for which the Core unit’s
premium price is paid. Its disadvantage,
as with other add-in internal drives for
the AT, is that it leaves room for only a
single flexible disk drive. The AT drive
C: can be replaced with the Core unit
to avoid this problem.
Series 4000/1 PS70 (Emerald Systems). The
Emerald Series 4000 model PS70 pro¬
vides 59.7MB of disk storage and a
60MB tape backup unit in a chassis the
size and shape of the PC system unit.
The chassis has five slots, one of which
is occupied by the disk controller and
another by the tape controller. The
remaining three slots can be used for
standard PC adapter and expansion
cards; this is an especially nice feature
for users with crowded systems. The
Emerald system uses a Vertex drive and
provides its own software.
The Emerald software installation is
smooth and can be finished in about
five minutes. Low-level formatting is not
required. The menu-driven procedure
directs the user to select the DOS vol¬
ume sizes, then to insert a DOS system
disk. The volume directory and FAT are
initialized, then the system is copied
onto the hard disk, together with
the Emerald BIOS in place of the
IBMBIO.COM. A different Emerald BIOS
exists for each version of DOS (2.0, 2.1,
3.0, and 3.1); the installation software
automatically installs the correct one.
Emerald’s software provides several
additional features. A sector caching
function allows the user to set aside a
portion of the PC’s main memory to re¬
tain the contents of the most recently
accessed disk blocks. On next access,
the system looks first in the cache be¬
fore retrieving the blocks again from
the physical disk. This can significantly
improve system performance in many
situations where a group of sectors is
repeatedly read. The difference was
most apparent when switching between
a word processor and a calculator pro¬
gram. A password-protection feature is
also provided, which prevents the sys¬
tem from booting from the hard disk if
the correct password is not supplied.
Another nice feature of the Emer¬
ald system is automatic bad track
remapping. The last six cylinders of
each disk surface, comprising a total of
42 tracks overall, are reserved to be
used in place of tracks with manufactur¬
ing defects. The Emerald BIOS driver
performs the remapping on a whole
track basis. The result is that CHKDSK
never reports any bad blocks until all
42 substitute tracks have been ex¬
hausted. Low-level formatting and sur¬
face analysis utilities are also provided.
72F-1 72MB kit (Express Systems). Confus¬
ing and irrelevant documentation sup¬
plied in addition to the Vfeature manual
made installation of the Express Sys¬
tems 72MB kit more of a trial-and-error
process than it should have been.
(Express said it has made a few changes
to Vfeature and calls it by a different
name, Coalesce.) Several of the instruc¬
tion sheets referred to programs not
X
Number One
fn Performance
IBM/AT/XT/PC- 8mz
No Wait States
FEATURES
• 64K-256K RAM
• 2K-8K EPROM/Static Ram
• 2 Serial Ports
Async/Sync/Bisync Communications
• Real Time Clock
• Memory-mapped Dual-port BUS
• On-board/Remote Reset NMI capability
•Up To 32 Boards Per AT/XT/PC
• Can Operate As Standalone Processor
• Less Than Full Size Board
(will fit other compatables.)
SOFTWARE
• ZP/Mtm CP/M Emulation Software
(Supports Most CP/M Software)
• Multiuser Capability if Used As A
Slave Processor
iHM is .< legisirieil tiadeinaik oi inlet ttwlioiMl Business m.h times
CPM 80is.i legistP'wt tr.KleiiMik otOigiMtResenichCotp
West: 4704 W. Jennifer. Suite 105. Fresno. CA 93711.209/276-2345
East: 67 Grandview. Pleasantville. NY 10570.914/747-1450
Distributor: Telemarketing Services, Inc.
1897 Garden Ave.. Eugene. OR 97403. 503/345-7395
CIRCLE NO. 236 ON READER SERVICE CARD
MAY 1986
105
C Programmers!
May PforCe Be With You.
Writing in C? Half your job could be done already. With
PforCe!“ The first library of object-oriented C functions
and subsystems. Written in C. Fully integrated, opti¬
mized, debugged, and ready to go.
High level functions that let you manipulate objects
like windows. Fields. Screens. Menus. Change an
object’s characteristics globally. Or tailor them to a
specific application. So you can write code faster. And
more economically.
Low level functions to give you complete hardware
control. Defaults you can change at will. Plus, more
sophisticated subsystems to handle complex tasks. A
database system with demand paging and B-trees to
store, access and index data. And, since PforCe includes
source code, you can modify anything in the library.
But that’s not all. PforCe is more than a
program-generation toolbox. It’s designed to
make things easy to find and use. Alphabeti¬
cally. By functional group. Or, while you’re
editing through a pop-up utility. And PforCe
comes with an easy to follow tutorial to help
you become more productive quickly.
PforCe is available for Microsoftf Latticef
CI86™ and Wizard™ compilers. All memory
models of each compiler are supported. You can use
PforCe with any supported compiler by re-compiling
the source code, but we provide a precompiled
version for the compiler that you specify at order time.
$475 complete.
Special Introductory Offer.
You would have to spend $700-$800 on several
libraries to get the range of functionality provided by
PforCe. But we want you to be convinced.
Order before June 15,1986 and save an additional $80
on the regular price of $475. Special offer $395.
Send for your PforCe information kit today. Call or
write:
Phoenix Computer Products Corporation
320 Norwood Park South
Norwood, MA 02062
(800) 344-7200.
In Massachusetts (617) 762-5030
Programmers’ Pfantasies '“
Programmers’ Pfantasies and PforCe is a trademark of Phoenix Computer Products Corporation. Microsoft is a registered trademark of Microsoft Corporation. Lattice is a registered trademark
of Lattice, Inc. CI86 is a trademark of Computer Innovations. Wizard is a trademark of Wizard System Software.
CIRCLE NO. 153 ON READER SERVICE CARD
32MB BARRIER
intended to be part of the product. The
typeset installation and operation man¬
ual is nothing more than the Vfeature
manual with all references to Vfeature
Deluxe inexplicably changed to Max
Disk; however, the software diskettes
themselves are still labeled Vfeature.
Adding to the confusion, the
Express software displayed a menu
titled Orion Computer Products, be¬
cause the Express Systems disk product
is manufactured by Orion under a pri¬
vate-label agreement.
The Fujitsu drive included with the
Express unit had 48 defects, within the
Fujitsu specifications for an acceptable
drive, but far more than any other
72MB drive tested. When the low-level
format program requested the bad
block entries, it took them one at a
time and spent longer and longer pro¬
cessing each one, starting at 16 seconds
and ending at more than 3 minutes per
entry. The total time spent at this pro¬
cess was an unpleasant 90 minutes.
Specifying write precomp was nec¬
essary, although the software never re¬
quested this information, and Express
did not supply it with the system. The
correct information was immediately
available from telephone support.
Once the installation was complete,
the Fujitsu drive worked as advertised.
Fujitsu has an excellent reputation as a
disk drive manufacturer. Express was
the only vendor to supply the drive
manufacturer s technical documentation.
GAW 65MB external drive (GAW Systems).
The GAW unit is a compact external
chassis for the XT, measuring 5-by-6-by-
12Vz inches and incorporating room for
three half-height 5 v 4-inch form factor
storage devices. The full-height Maxtor
drive occupies two positions, leaving a
vacant position for a backup tape drive
or additional hard disk. The Xebec con¬
troller is cabled for two disks, and the
power supply has adequate additional
capacity for any half-height drive.
The only documentation supplied
with the unit is the Vfeature manual,
but the disk is preloaded and ready to
run. No low-level formatting is neces¬
sary. GAW Systems claims that it has
experience with many drive and con¬
troller combinations and offers custom
configurations, cabling, and controller
board BIOS ROMs.
This particular configuration is be¬
ing phased out in favor of a 72MB unit
in an identical cabinet for $2,895.
Racet PCMS-150 (Racet Computes Ltd.).
Racet’s systems are unique in several
respects—most obviously size and ca¬
pacity. The disks are housed in a large,
wheeled, freestanding metal cabinet
measuring 28 by 11 by 28 inches; the
whole assembly weighs in excess of 80
pounds and requires two people for
unpacking. Racet supplies disk systems
ranging from 150MB to 411MB per disk
in the same size cabinet and even offers
a fault-tolerant version, with redundant
power supplies and dual disks, plus
software that automatically duplicates
data written to one volume on another
of the same size. Each system is avail¬
able with a 150MB tape backup that
uses a 24-track, serpentine self-thread¬
ing spool. This is a high-reliability,
industrial-strength mass storage system.
The system tested was the PCMS-
150, with a total formatted capacity of
162MB. The unit included the streaming
tape drive with a formatted capacity of
150MB and an eight-inch Pertec drive
and proprietary controller.
The Racet software allows many
more volumes to be defined on the
disk than are active. Volumes are acti¬
vated by attaching them to a particular
drive letter. This can be done dynami¬
cally while the system is running. Racet
also supports reconfiguring of parti¬
tions, by splitting one or joining two ad¬
jacent ones, without affecting other par¬
titions on the disk. All data in the af¬
fected partitions, however, are lost.
Racet has been in the hard-disk
add-on business since 1977 (it started
out providing disks and supporting soft¬
ware for Radio Shack computers), and
its experience shows. The installation
and user documentation is extremely
thorough and professional. Racet has
particular experience in providing large
disk systems for use as network hie
servers, and its software and documen¬
tation provide many specific features
and hints for network installation.
TG-6180 (Tallgrass Technologies). The TG-
6180 is an external unit with an integral
60MB cartridge tape backup. The chas¬
sis measures 5^-by-10-by-17 inches. The
installation manual is detailed, well-
organized, and includes an index. The
step-by-step software operating instruc¬
tions are clear, although the screen
examples in the documentation some¬
times vary from the actual screens
displayed by the software.
The Tallgrass configuration re¬
quires a small volume with IBM stan¬
dard 512-byte sectors for booting. The
remaining 83MB can be a single, large
volume or can be divided into as many
as 15 smaller volumes. Large-volume
support is provided via a program
called TGPSEC, instructions for which
are contained in hies on the software
release diskette. These disk-based in¬
structions are the only mention of
\
\
Number One
in Performance
68010/68000
Coprocessor for
IBM/AT/XT/PC-
8/10/12.5mz No Wait States
s 1295°°aty. i
FEATURES
•1-2 MB RAM (1MB Standard)
• 16K-64K EPROM
•2-8 Serial Ports
Async/Sync/Bisync Communications
• Battery-backed Real Time Clock
• Battery-backed 2K-8K RAM
• 2 Parallel Ports
• 68881 Math Coprocessor
• Memory-mapped Dual-port BUS
• 3-9 Users Per Board (3 Standard)
•Up To 16 Boards Per AT/XT/PC
• Can Operate As Standalone Processor
SOFTWARE
• 0S9 (Powerful UNIX-like Multi-user OS)
• CPM/68K
• Software selectable OS including concurrent
PC DOS/OS-9 or CPM/68K operation
• Support Module for IBM Graphics
• High-speed Local/Global Disk Caching
• Basic. Pascal, Fortran, C, and COBOL
iBM is a r entered trademark ol international Business Mactnnes
0S-9is a registered trademark olM<ro»are Systems Coro tCPM/GX .s a registered trademark ol OgiUi ResearcnCo>o
MKMOOO' MKMOtOare rosier ed trademarks ol ktolorora UNIX is a registered trademark ot *T»t
West: 4704 W. Jennifer. Suite 105. Fresno. CA 93711.209/276-2345
East: 67 Grandview. Pleasantville. NY 10570. 914/747-1450
Distributor: Telemarketing Services. Inc.
1897 Garden Ave.. Eugene. OR 97403, 503/345-7395
CIRCLE NO. 238 ON READER SERVICE CARD
MAY 1986
107
c
DYNAMO
FREE!
PCUNIX™
(WITH ANY PURCHASE OF $250 OR MORE.
LIMITED TIME OFFER)
LIBRARY: 325 fully tested functions
screen handling/graphic, cursor/
keyboard/data entry string handling,
status and control, utility/DOS/BIOS/
time/date, printer control, 4 disks
$129.95
WINDOWS: The most powerful
windowing package available,
overlays, borders, pop-up menus/
help windows, zap instantly on/off
screen, status lines, horizontal/
vertical scrolling, color control/
highlighting, word-wrap, files to
windows, keyboard to windows
3 disks $129.95
SUPERFONTS FOR C: Dramatic,
high impact screens. Use our
character & image libraries and
functions, or create your own.
Font & Function Library $49.95
B-TREE LIBRARY: Fast indexing
B-tree. 16 million each: keys and
records, unlimited keys per file,
variable length records. PC-DOS,
UNIX, XENIX, CP/M. $79.95
ISAM DRIVER: $49.95
COMPATIBILITY: PC/XT/AT; Full
K&Ft, Cl-C86/De Smet/ Lattice/
Microsoft 3.0/Aztec/others.
VALUE: All source code, No royalties.
Best documentation available.
No matter what else
you have, you need these.
C-TERP: Simply the best C
interpreter available. See C Journal
Summer 1985
C-TEPP (specify compiler) $299.95 ■
PCUNIX: Multi-tasking, networking
multi-user. With source code $99.95
m Wendin Software
COMBINE AND SAVE!
C LIBRARY plus C WINDOWS
BOTH for only .$179.95
+ SUPERFONTS FOR C .$199.95
+ B-TREE and ISAM _$299.95
(A $440 VALUE)
C LIBRARY plus C WINDOWS
+ SUPERFONTS
+ C-TERP (a $610 value) .... $459.95
All (a$740value) .$549.95
Cntelekon
12118 Kimberley, Houston, TX 77024
713-468-4412
VISA MASTERCARD CHECK COD
32MB BARRIER
large-volume support; nothing is said in
the hard-copy manual. TGPSEC is to be
run after creating the disk partitions
and logical volumes and before format¬
ting the volumes.
DIFFERENCES WORTH NOTING
While all of these systems break the
32MB barrier, they fall naturally into
distinct groups, with price, capacity, and
features fairly well correlated.
The Racet system, at $16,500, is in a
class by itself, by virtue of physical size,
total capacity (up to 822MB), and the
provision for automatic redundant
volumes for critical data. This system is
appropriate for large network and data¬
base applications and where expansion
capability and fault tolerance are more
important than price per megabyte.
In the $7,500 bracket, the Tallgrass
and Emerald systems offer external cab¬
inets with disks and integrated 60MB
tape backup units. Emerald’s disk is
smaller, but noticeably faster, and the
cabinet doubles as an expansion unit
for additional adapter cards.
The Bell, Core, and Express sys¬
tems, ranging in price from $1,800 to
$4,600, are all 72MB internally mounted
drives, ideal for desktop XTs or ATs.
Core claims extraordinary ruggedness
and reliability for its drives, which are
The vendors listed below each offer a
variety> of models, configurations, and
capacities. The pricing given here is for
the specific product reviewed.
Vfeature Deluxe: $120
Golden Bow Systems
P.O. Box 3039
San Diego, CA 92103
619/298-9349
CIRCLE 345 ON READER SERVICE CARD
B86 internal hard disk: $1,995
Bell Technologies Inc.
44846 Osgood Road
Fremont, CA 94539
415/659-9097
CIRCLE 346 ON READER SERVICE CARD
Core ATplus: $4,595
Core International
7171 North Federal Highway
Boca Raton, FL 33431
305/997-6044
CIRCLE 347 ON READER SERVICE CARD
Emerald Series 4000/1 PS70: $7,510
Emerald Systems Corporation
4757 Morena Blvd.
San Diego, CA 92117
619/270-1994
CIRCLE 348 ON READER SERVICE CARD
specially adapted by Core; they also
command a premium price. The lower-
priced Express disk has the most bad
sectors and slowest performance of all
the units tested.
The 55MB formatted GAW drive is
the smallest of the drives tested. Its ex¬
ternal cabinet has room for another
half-height device, and it may be-
favored by users owning PCs with small
power supplies. Sadly, the unit tested is
being discontinued due to an unreliable
supply of the drive mechanism. GAW
now offers a similar external subsystem
with 72MB capacity for $2,895. Given
that the price includes an external cabi¬
net and power supply, the GAW units
are quite competitive with the internal
systems from Bell and Express.
Future versions of DOS undoubt¬
edly will support disks much larger
than these; until then, these systems
offer working solutions for users who
need large DOS volumes now. As the
architects of DOS have learned, saying
never is unwise when considering how
soon an arbitrary system limitation will
become intolerable. Whenever a barrier
comes up against a legitimate user
need, the barrier will always fall.
Thomas V. Hoffmann is director of advanced
systems development for General Instrument.
Express 72F-1 external
hard-disk system: $1,795
Express Systems, Inc.
1254 v 2 Remington Road
Schaumburg, IL 60195
800/341-7549, ext. 3000;
312/882-7733
CIRCLE 349 ON READER SERVICE CARD
GAW 65MB external drive: $2,695
GAW Systems
6160 Lusk Blvd., Suite C205
San Diego, CA 92121
619/457-2245
CIRCLE 350 ON READER SERVICE CARD
Racet PCMS-150 external
system: $16,500
Racet Computes, Ltd.
1855 W. Katella, Suite 255
Orange, CA 92667
714/997-4950
CIRCLE 351 ON READER SERVICE CARD
TG-6180 83MB external drive with
tape backup: $7,495
Tallgrass Technologies
11100 W. 82nd Street
Overland Park, KS 66214
800/228-DISK;
913/492-6002
CIRCLE 352 ON READER SERVICE CARD
CIRCLE NO. 158 ON READER SERVICE CARD
108
PC TECH JOURNAL
More Answers from CXI.
# 12 .
Howto get
mainframe data to
your remote PCs.
PCOX 3270remote
connections.
Now if your PCs are located out of town,
they needn’t be out of touch.
Because not only does CXI have more
remote micro-to-mainframe connections to
choose from; we have more cost-effective
ones as well.
For example, all our remote products
connect via modems. And emulate IBM®
3274 cluster controllers, 3278/79 terminals,
3287 printers and 3270 PCs.
So you can forgo the cost of that
equipment when you link
up with ours.
Tkke our PCOX/STANDARD
REMOTE™connection, for one.
It gives you direct mainframe
access from a remote PC.
Or choose PCOX/PLUS
REMOTE™ It can access one host
session, one PC session and two
electronic notepads—concur¬
rently And makes file transfer
quick and easy.
Or, for multi-session performance,
there’s our PCOX/3270 PC REMOTE™ It lets
you work with up to five host sessions,
two notepads and a PC session.
What’s more, just by adding new software,
you can add new features like our remote
gateway for LANs.
So for the name of your nearest CXI
distributor, call (800) 225-PCOX. In Cali¬
fornia, call (415) 424-0700. r Iblex: 821945.
Or send us the coupon. And let us turn
these remote possibilities into
reality.
?ot a Vco;
cotta' '
sssss*****
^ ct °aTvsw eYS ‘
®or
-nAate
uaden<
iaw esa1
pl , a dera«' sso! &. GXl ' U '
CTJ 6 ' 86
CIRCLE NO. 217 ON READER SERVICE CARD
PC BRAND! CAREFULLY CHOSEN
TOOLS FOR PROGRAMMERS,
LIBRARIES: to Speed Programming
Y ou cannot go wrong buying any or
all of these compendious compi¬
lations. So cost effective that use of just a
few will save a bundle compared to writing
your own.
LATTICE C-FOOD
SMORGASBORD
Decimal Arithmetic: Trigonometric,
logarithmic functions, powers, conver¬
sion to strings, BCD operations for
numbers up to 16 significant digits.
Level 0 I/O Functions: Direct opera¬
tions for screen, keyboard, printer, and
asynch port to minimize memory usage
and maximize speed.
IBM PC BIOS Interface Access: Gets
basic I/O services in ROM BIOS not
available from the operating system to
get and set keyboard modes, printer
port status, video attributes and cursor
positioning.
Terminal Independence Package for
transport to other types of terminals.
Product Code: S0200 PC Brand:
List Price: *150.00 *109.00
GREENLEAF
FUNCTIONS
New 3.0 has 225 functions in both C and
assembler source as well as library format.
We have versions for Lattice, Microsoft,
C86, Mark Wms. New emphasis on tighter
functional groupings to mini¬
mize excess baggage of functions loaded
whether used or not. Manual’s 250 pages
now help select functions, as do demos
and bulletin board.
32 DOS extensions: file and directory
manipulation for DOS 1.1 and 2.0.
23 Screen Functions: Select mode, page,
monochrome or color, palette; cursor
shape, positioning; clearing and scrolling;
pixel get and put; read light pen.
60 String Functions: Manipulation of
strings including center and justify;
efficient list operations which add, delete,
and sort pointers to strings for top speed.
50 Graphics Functions: Primitives to
access all graphics; typeface, formatting,
and forms control.
Plus keyboard status and function key
assignment, time and date algorithms
.. .we could go on!
Product Code: S0770 PC Brand:
List Price: *185.00 *139.00
GREENLEAF
COMMUNICATIONS
Want your application to communicate
with other users or remote date bases?
Now you can build asynchronous com¬
munications right into your C programs!
Over 60 functions and demo programs in
both C and assembler source code set up
an interrupt driven scheme with separate
transmit and receive ring buffers for an
arbitrary number of ports. Interrupt control
means you can download a record, then
halt the incoming stream to file it, display it,
let the user tamper with it, send it back up
line. Goodbye separate communications
software.
Supports ASCII or binary, any parity, any
word length, 8250 UARTs, all four Lattice C
memory models, Hayes 300, 1200, 1200B
and other modems.
Its 80-page manual has examples of each
function and guides you through asyn¬
chronous communications.
Product Cede: S0750 PC Brand:
List Pnce: *185.00 *139.00
BTRIEVE VERNON 4.0'.
Queen-B File Manager Abdicates Royalties
T his queen of b-tree file managers was
unapproachable to programmers for
whom royalties would ruin profit margins.
PLINK86 & PLUS
Dynamic Cache Overlays
Maximize Memory Use
P link86™ long the overlord of overlay
linkers, now has a Plus version. As a
linker Plink can be used with any com¬
piled language which delivers Microsoft/
Intel format object files. It yields automatic
symbol tables and more memory maps
than DOS LINK, but its overlay power has
won its reputation as a miracle worker.
Plink86 shoe-horns large programs into
small memory by binding into your com¬
piled program an overlay manager which
knows how to swap modules of large
linked programs between disk and shared
memory space. Plink86’s straightforward
overlay description language allows you to
describe your overlay hierarchy in a
structure permitting up to 4.095 overlays
stacked 32 deep.
So if your program needs large chunks
of memory, you no longer forego sales to
folks who have less. But if you’ve assumed
128k, and they have 640k, Plink86-Plus™
knows to use extra memory as cache for
overlays — at full speed compared to disk
swapping. It also can automatically restore
a displaced overlay to which a subse¬
quently called overlay must return, and
assign library modules to either a
program’s root segment or overlay areas.
Plink, the programmer’s choice even
when CP/M™ was the poobah of
computing.
List
PC
Code:
Product:
Price:
Brand:
S0500
Plink86
*395
*289
S0499
Plink86-Plus
*495
*359
So it’s quite a ukase indeed that one need
no longer pay a tithe to incorporate
Btrieve™ in applications.
Now there is version 4.0, which hugely
speeds DOS interaction, especially for
large files with multiple keys. It also adds
support for variable length records of vir¬
tually any length. Other new features: a
read after write option to verify accuracy,
useful in gritty environments like manufac¬
turing floors; file password to deny unau¬
thorized access or read only; and data
encryption to assure network privacy.
Btrieve's foundation is a balanced-tree
indexing scheme, conceded to be the fast¬
est search technique devised (it will find
any key in a million-plus item index in four
or less accesses). Btrieve takes complete
charge of all file creation, indexing, read¬
ing, writing, insertion, deletion, space
recapture, and forward and backward
searching based on full or partial keys. It
builds commands right into the language
you use in the form of functions you call to
tell Btrieve what to do.
Btrieve has mainframe specifications! A
single file may have up to 24 indexes. Seg¬
ments of keys may be indexed. Each
index can independently accept or block
duplicate keys. Fixed record lengths can
be up to 4090 characters; variable length
records 64k; indexes 255 characters; files
up to 4 billion bytes. It can even extend a
file across two drives—even two hard
disks!
Interfaces to C, Pascal, BASIC, and
COBOL with single purchase; sample pro¬
grams in all four languages.
The network version works with any net¬
work that supports the MS-DOS 3.1 file
sharing function.
List PC
Ask for: Price: Brand:
S0650 *245 s 199
S0652 Network Version *595 *529
C-SPRITE
Lattice’s Debugger
for Lattice C
W e once called it a symbolic debug¬
ger, but Lattice® advances now
bring your source code on screen for
your viewing pleasure. Hand this
versatile companion to your compiler a
.COM or .EXE file and C-Spnte™’s
source mode will display your original
program statements during most
operations — your function names, your
variable names, your data types, and the
line numbers from your source code. At
any breakpoint you can disassemble the
object code and see source and
assembler intermingled on screen.
If inclined, you can as well view ma¬
chine addresses and machine-coded in¬
structions to scrutinize what the compiler
(or an assembler) contrived. You can
work with data in hex, of course, or spe¬
cify C’s data types to cause the debug¬
ger to display memory addresses as
strings, long integers, etc., even pointers.
C-Sprite can set breakpoints using
symbols or addresses. You can submit
clusters of commands to be executed at
the breakpoints, or set commands that
execute until a condition is met. New
features permit redirection of STDIN
and STDOUT, display and alteration of
8087 status, the setting of pointer sizes,
and a symbol table exceeding 64k.
C-Sprite even has macros. Use your
source code variable names in a macro
to dump the contents of entire C
structures, for example. And you can
debug through one of the COM ports
with a second terminal so as not to
disturb your program’s display screen.
What's more, if you link with Plink86, C-
Sprite can even tackle overlays.
Product Code: L2300 PC Brand:
List Price: $175.00 *149.00
BASIC_C
Use Your Knowledge of
BASIC to Learn C
I f you're getting the message that
switching from BASIC to C
would be prudent, you’re about to discover
that it’s back to basics of a different sort.
BASIC is fat with hidden functions that
stripped down C just doesn’t have.
Gone are all those handy string manip¬
ulators like LEFTS, MID$, STRINGS, etc. In
C, when you reach for even simple
invocations like INPUT or PRINT — well,
underlying such expressions in BASIC are
bulging macros which C cannot have if it is
to keep its slim profile.
But now comes BASIC_C and all your
old favorites are back. Over 80 routines to
open and close files, field and perform
conversions on file buffers, peek and poke,
print using, clear screen, "instr", on error
goto... they’re all there. Some have re¬
worked names and syntax to suit C, but all
are written as one-to-one functional equiva¬
lents to the familiar features of BASIC. And
they are documented one to a page in
alphabetical sequence like the Microsoft
manual for added familiarity.
So with BASIC_C, when you’re thinking
INPUT, go ahead. Use it. Or LPRINT or
LOCATE or INKEY. But without BASIC_C,
you will find that every line of code
plunges you back in the C texts to figure out
how to write it. Someday you’ll want to, but
for now, BASIC_C will start you program¬
ming quickly at the statement level so that
you can concentrate on C’s larger concepts.
Product Code: S0350 PC Brand:
List Price: $ 175.00 *139.00
RASTOC 0 pt\mvz£ s '
Translates BASIC
Programs Into C
F or a trifling price, BASTOC™ will
move truckloads of BASIC code over
to C. It is a translator which takes in Micro¬
soft Extended or CBASIC and emits pure
Kemighan & Ritchie C for the Lattice com¬
piler. It will optionally convert your pro¬
gram into a single monolithic C function or
will decompose it into separate functions,
one for each GOSUB label.
Version 2.0 adds optimization, with dra¬
matic reductions in execution time. It con¬
verts to C integers those numeric
variables it finds in BASIC programs
which really do not need floating point. It
eliminates unreachable code. Where
BASIC uses full assignment statements to
increment and decrement counter, BAS¬
TOC converts to C’s compact form, nested
in other statements. Strings are dynami¬
cally allocated in the target program, rid¬
ding your application of BASIC’s catatonic
halts for garbage collection.
BASTOC will try to create structure of
even the most convoluted BASIC code,
and writes any indigestible statement into
the C output as a comment accompanied
by an explanation of the problem. Also,
you can optionally tell BASTOC to insert
BASIC source lines into the C target as
comments, a dandy way to learn the dif¬
ferences between the languages.
Ask for: S0375 & BASIC PC Brand:
List: *495 s 399
PANEL
Feature-Laden
Screen Design Tool
T he newest version of this premier pro¬
gramming tool lets you layer your
screen designs with up to ten overlapping
images, making it easy to background a
screen with pop-up lists, help boxes, and
alternate sets of input fields.
Writing your own screenware is a good
way to blow completion dates and profits.
Panel™ works with you interactively to set
up foolproof screen displays and data en¬
try forms rapidly. It tests your form to prove
that it (and test data) behave correctly, then
converts the finished work into C source
code for incorporation into your applica¬
tion. Compile with Lattice or Microsoft.
Wonderfully diverse attributes may be
selected for any field — size, data type,
color, of course, but also conversion of
input to upper case; clearance of existing
data when new entry is started; masks for
standard formats (eg, dates, phone num¬
bers); a choice of styles for numeric fields;
phrases which fill in when their first letter
is typed; multiple-choice lists from which to
choose a field fill-in by cursoring a high¬
lighted bar. Fields may be multi-lined (eg,
name and address as one field) and
scrolled if larger than the screen space
allotted them.
Panel builds in a user interface for
keystroke movement within and between
fields, and supplies extensive validation
routines for checking user field entries —
in source code, so you can tack on your
own unique variants. Screen designs may
be dynamically loaded from file, or com¬
piled into a program, and version 6 has
optimized code to quicken display speed.
The whole package is wrapped in a
monitor and keyboard customization
package to tailor your application for other
equipment. Panel. A superior productivity
tool now bigger than ever.
Product Code: S0400* PC Brand:
List Price: $295.00 *229.00
Lattice is a registered TM and LatticeC, C-Food Smorgasbord and C-Sprite are TMs of Lattice Inc. / Greenleal TM Greenleal Soft¬
ware / Panel TM Roundhili Computer Systems Ltd / Plink86 and Plink86-Plus TMs Phoenix Computer Products Corp / Btrieve
TM Softcraft Inc RUN/C Professional and Loadable Libraries TMs Age of Reason Co / BASTOC TM JMI Software Consultants
Inc / BetterBASIC TM Summit Software Technology Inc. / GSS. GSS-Drivers and GSS-Toolkit TMs Graphic Software Systems. Inc.
/ IBM registered TM International Business Machines/UNIX TM Bell Laboratories/GW-BASIC and XENIX TMs Microsoft Inc.
/WordStar registered TM Micropro/ CP / M and CBasic TMs Digital Research / PC Brand TM PC Brand
PRICED TO SAVE YOU MONEY,
SHIPPED ROST ANYWHERE, gg
RUN/C PROFESSIONAL VERSION
Interpreter Now Accesses Binary Libraries
LATTICE C VERSION 3.0
Major Upgrades to the Best Selling C Compiler
R UN/C was an innovator for convert¬
ing inaccessible compiled C to an
interpreted language as easy to grab
hold of as BASIC. Great for learning,
but a problem remained for pros An
interpreter expects nothing but source
code, and that put the vast resource of
professional binary libraries off limits.
No longer: RUN/C Professional™ has
the tools dynamically to load and unload
multiple binary function libraries while
in its interpreter. Your code can now
reach for functions in the commercial C
libraries like C-Food Smorgasbord™ -
opposite— potentially any library com¬
piled with Lattice's large model. How?
The manual shows how to develop the
interface to a library, using the Lattice
compiler (a must!). How about your own
archive of functions? No reason why not.
The RUN/C Interpreter
The interpreting engine lies at the
heart of both the improved original
RUN/C and the new Professional
version. Its creators had the inspiration
to make once formidable C behave on
screen much like PC BASIC with a full¬
screen editor like WordStar® .Just
create a program and RUN it. If it
stumbles, LIST it, EDIT it, add lines,
delete lines, RUN it again, fix it again.
Use familiar commands like LOAD,
MERGE, SAVE, FILES, even TRON and
TRACE, and a free profiler.
RUN/C is ideal for rapid program
development. Put up code at high
speed, tinker and re-arrange, try out
things devil-may-care, and let RUN/C
find your typos and malaprops.
RUN/C has a treasury of functions
built into the interpreter — over 100
paralleling the most used functions
found in standard compiler libraries. So
when and if the time comes to compile,
your source code will find counterparts.
There are lots more features — system
interrupts, a shell command to invoke
any operating system command without
leaving RUN/C, even the ability to load
a preferred editor in parallel and switch
back and forth.
RUN/C Standard Version
Straight RUN/C has all above but the
Loadable Libraries™ docking module.
It utilizes source code only, whether
created by its own editor, or from any
ASCII file, such as programs you’ve
already written, or commercial libraries
which supply source code.
It makes a splendid teacher. The
manual has not just instructions how to
use RUN/C, but its 500-plus pages
provide a thorough-going demonstra¬
tion of the C language itself. Every
feature, of C or RUN/C, is accorded its
OUTSIDE U.S.?
The dollar is weaker. In your currency, our
prices are lower than ever. PC BRAND ships
anywhere. We’ll prepare the export documents
and ship to you or your agent by air freight,
courier, or air parcel post. Pay by credit card or
wire funds (see "Terms" below).
own micro-chapter. Over 100 of these
chapters are devoted to RUN/C’s built-
in functions, and every one lists a sample
program showing how it is used. The
programs are also on the disks. So as
you read them in the manual, you can
run them on the screen. (Needs
180k-256k recommended.)
RUN/C Professional
RUN/C Pro has every feature of
RUN/C regular plus the binary library
link-up and an extra level of debugging
aids. They are ingeniously installed
behind a built-in function, so you can call
for debugging conditionally. The called
function paints a menu of debugging
tools to choose from, including immedi¬
ate mode to display variables, single-
step tracing, and changing of variables.
RUN/C Professional can tackle
projects of any size. Use it as a creative
front end to feed a continuous stream of
source code into compiled modules.
Only the source work in progress is still
interpreted: the finished modules will
whiz by at object speeds. It will change
how you work. (320k minimum and 512k
recommended to fit libraries.)
RUN/C: quite a run for your money.
List: PC
Code: Product: Price: Brand:
S0910 RUN/C $ 120 $109
S0950 RUN/C Pro s 250 $ 199
Leave the Driving to GSS
G SS™ has reconfigured two compo¬
nents of its comprehensive graphics
tools to conform with the more advanced
ANSI Computer Graphics Interface (CGI)
standard.
At the heart of the system is now the
Development Toolkit which contains all
language interfaces and device drivers
for keyboards, mice, joysticks, tablets,
printers, plotters, cameras, and more.
Drivers now house all management of vec¬
tor graphics (plotters) and bitmaps used
by raster input devices (scanners) to insu¬
late completely the application program
from concern for device idiosyncracy. No
one else has implemented CGI that way. It
means programming remains generic;
just switch drivers and the same program
will drive a different device, including
intelligent controllers which do not want
micro instructions.
GSS Kernel™ conforms to level 2b of
ANSI's Graphical Kernel System (GKS)
and contains all its needed drivers and
language bindings. Kernel has macro
level tools to draw and color an object,
store the sequential instructions, and
recreate the object on its own, as well as
segment it, transform it, etc., all the while
returning data on attribute settings, sys¬
tem and device status. So powerful, a sin¬
gle command may represent several
score lower level statements.
Plotting has the equivalent GKS tools for
graph and chart generation and their cap-
L attice has labored and come forth
with the long-awaited Version 3.0 of its
top-rated compiler. A long list of enhance¬
ments, adoption of the ANSI draft stan¬
dard, documentation rivaled by few, and
add-on libraries matched by none in
sheer quantity restore Lattice C™ to its
leadership role as the C compiler to beat.
Lattice now embraces key UNIX™
enhancements which have entered the
language since Kernighan & Ritchie: void
functions returning no value, enumerated
data types to assign stepped values to var¬
iables, the ability to pass data between
structures by assignment statements. And
3.0 adopts checking of external function
arguments by data type as proposed by
ANSI to kill bug swarms when modules
join up at link time.
The greatly expanded libraries, now
comprising 325 functional), enable the file
sharing and record locking provisions of
DOS 3.1, provide a full complement of
transcendentals, and a host of utilities to
mimic the UNIX and XENIX™ environ¬
ments.
Lattice now delivers smaller .EXE files,
curing one past complaint, boasts very
fast link times and a more efficient aliasing
algorithm,
The compiler now defaults to the ANSI
proposed standard when you need a strict
mistress, but command line options toler¬
ate straying. New options generate code
to use 80186 and 80286 features, and the
tioning: hand it apples and oranges, say
"pie”, and it bakes the numbers into a
digestible display for screen or plotters.
Kernel and Plotting have tools to convert
images they create to ANSI Computer
Graphics Metafiles (CGMs), a token&ed
standard for storing every form of graphic
image as data. The Metafile Interpreter
reads the contents of a CGM and inter¬
prets it with full CGI capability for re-crea¬
tion on various devices, and you can cut
and paste before display.
Quality software? IBM thinks so. They
sell the GSS series under their own label.
Unit royalties and annual fees have
been instituted for redistribution. Call for
schedule. Needs 256k. _. •
List PC
Ask for: Price: Brand:
GS010 CGI Dvlpmt Tbolkit *395 *339
GS020 Kernel System *495 s 419
GS030 Plotting System *295 $249
GS040 Metafile Intepreter *250 $209
8087 is of course sensed and utilized if
aboard.
Lattice has enjoyed pre-eminence so
long that developers have created far
more tools to marry into Lattice C than any
other compiler. Programmers now have
an enormous resource of libraries and util¬
ities to use with Lattice to speed their
work. William Hunt, in his exhaustive anal¬
ysis of 12 compilers in the 1/86 issue of the
PC Tech Journal awards Lattice the only
"very good" rating for add-on library
availability. He sums up with this all-
around accolade: "a fine product to con¬
sider for the production of important appli¬
cations."
Ask for: SO 100 PC Brand:
List: *500 $299
BETTER BASIC
New Version Compatible
with Microsoft BASICS
T his hearty implementation provides a
real alternative to technical languages
like C. It melds the most useful features of
C, Pascal, and Modula 2 into BASIC, while
retaining the familiarity of a language
already known to millions. And now Ver¬
sion 2.0 is 100% compatible with Micro¬
soft's GW™ BASIC and IBM BASICA
including graphics, sound, and assembly
language calls. Just load old programs
and run. Save and they are converted to
BetterBASIC.
It's big: BetterBASIC’s hugely expanded
features require 192k; your programs can
go all the way to the PC's full 640k. It's
comfy: Behaves like Microsoft BASIC at
the interactive level, with a full-screen edi¬
tor, direct statement execution, and always
poised to RUN. It’s fast: BB is an incremen¬
tal compiler—unlike with interpreters
each statement is checked and compiled
just once. The Sieve benchmark runs six
times faster than with Microsoft.
BetterBASIC® has C-like structures for
reference to entire records so say good¬
bye to FIELD, MKI$, CVD, LSET, etc. It has
"procedures" summoned by name unlike
GOSUBs. Lots more features: built-in
linker for compiled modules; trace;
debugging breakpoints; cross-reference
command; 32k strings; DOS and BIOS
calls and interrupts; recursion.
List PC
Ask for: Price: Brand:
SI 200 BetterBASIC *195 *169
SI201 Runtime Module *250 *239
SI 202 8087 Interface ‘99 *89
S1205 Btrieve Interface ‘99 *89
Looking for something? We carry—or can get—many more
products than are featured here. Need terms? On-the-spot
credit to most public companies, government, educational,
medical institutions. No fees for credit cards or COD. Not
quite right? Send it back within 30 days for full refund or
credit.*
* Subject to "terms and conditions”. Some developers prohibit breaking disk seals but you can at least read
the manual.
The GSS GRAPHICS SYSTEM inARD ,
AN Sl CGI STANDARD'.
TERMS AND CONDITIONS OF SALE
Licenses: Each price is for a license to use a pro¬
duct on a single computer and does not con¬
stitute its ownership. We will inquire for you about
site licenses. Except as otherwise indicated, pro¬
ducts may be used to create programs for
distribution without royalty payments or addi¬
tional licenses, provided said programs do not
substantially replicate the products themselves.
Compatibility: PC BRAND’S standard products
are designed to operate with the IBM^ PC, XT or
AT under PC-DOS and require no more than 128k
of RAM unless indicated. Non IBM machines us¬
ing MS-DOS - contact manufacturer.
Returns: Defective parts will be replaced. Pro¬
ducts are rendered unreturnable if you open seal¬
ed envelopes containing diskettes. Otherwise,
call for authorization to return a product for refund.
Payment: We honor MasterCard, Visa, Ameri¬
can Express (no surcharge), checks in advance,
or funds wired to PC Brand, c/o Chemical Bank,
126 East 86 St., New York, Account 034-016058.
COD (U.S. only) for cash, money order, certified
check (no fee). NY State, add sales tax. Purchase
orders accepted from larger corporations and in¬
stitutions at our discretion if you agree to net 30
days plus 2% a month late penalty thereafter.
Shipping & Handling: U.S. UPS Surface 1st pro¬
duct $6, each add’l $3. UPS 2nd Day Air 1st pro¬
duct $10, each add’l $4.50. UPS Next Day Air or
Federal Express 1-2 Day Air 1st product $18, each
add’l $6. FedEx Next Day 10 AM 1st product $28,
each add’l $7. International Charges vary by
destination and carrier. $10 per shipping con¬
tainer for export forms. Air parcel post at your risk
beyond collected insurable amount.
For Orders, Literature, or Catalogs, Call Us at...
800 PC-BRAND
That's (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311
Telex: 667962 (SOFT COMM NYK)
© 1986 PC BRAND
Prices, terms, and specifications subject to change without notice.
CIRCLE NO. 171 ON READER SERVICE CARD
ILLUSTRATION • AKIO MATSUYOSHI
Disk Parameters
While the details of most DOS functions are hidden
from the user, they are not inaccessible. Disk parameters
and system information are there for the asking.
O ne of the most important func¬
tions of a disk operating system
is to provide a standard pro¬
gramming interface for peripheral I/O
and storage devices—principally, disk
drives. DOS stores and retrieves disk
information in the form of files. For
most applications, file-oriented storage
is extremely convenient because the de¬
tails of space allocation on the disk are
handled in a manner invisible to the
user. For many system support func¬
tions, however, the user needs to access
some of the low-level disk information
that DOS maintains. This information
takes two forms: parameters maintained
internally by DOS that describe certain
characteristics of the disk and disk stor¬
age; and special sectors, such as the
root directory and file allocation table
(FAT), maintained by DOS on the disk
for storing system information.
The documented function calls in
DOS (accessed through software inter¬
rupt 21H) for the most part provide
only file-oriented access to information
on disk storage devices. A method for
GLENN F. ROBERTS
reading and writing disk data on a logi¬
cal sector basis is provided (via soft¬
ware interrupts 25H and 26H), but no
standardized method exists for deter¬
mining the size and location of impor¬
tant disk components such as the root
directory and the FAT. Some of the
ways that are used (interpreting the
media descriptor byte, for example)
may fail when used on devices with un¬
usual formats, such as software-emu¬
lated disks (RAM disks), or when sup¬
port for new devices is added to DOS.
Obtaining most of the information
needed to write disk-based utilities that
should work for all disk types is possi¬
ble with some effort, however. Some of
the methods to do so are poorly docu¬
mented—or essentially undocumented.
DOS DISK STRUCTURE
DOS views a disk volume as a logical
entity that consists of a series of
sequential sectors. The DOS view of a
disk should be considered a logical
view because the physical characteristics
of the underlying medium are largely
hidden from the user. These character¬
istics include the number of heads on
the drive (or the number of recording
surfaces on the medium), the number
of tracks on the disk, and the number
of sectors per track.
In addition to hiding the physical
characteristics of the drive, DOS hides
information on the partitioning of hard
disks. Partitions are used to allocate a
portion of a hard disk to be used as a
logical drive, with more than one logi¬
cal DOS drive possible on a single
physical disk; or they can be used to
hide a portion of a hard disk from
DOS. Such hidden portions are typically
used to support more than one operat¬
ing system on the same disk.
DOS disks are organized into four
basic areas: the boot record, the FAT
area, the root directory, and the data
area. These areas always occur in this
order, but the amount of space allo¬
cated to each one varies.
The boot record is typically one
sector in length and contains a program
that the computer executes when
112
PC TECH JOURNAL
DIRECTORY STRUCTURE
C:\
DOS AND NON-DOS
PARTITIONS
FILE ALLOCATION TABLE
m
fa— h
>
V
■
v
\ ;:' y
\
r\r
- /
<"1
THE LEADER'S OFFER.
G
We Want You To See
What We've Got
We want you to experience the inno¬
vative new technologies, products, and
services you can get only from the
Leader. Like DiskMeld™—Emerald’s
proprietary technology that allows two
physical hard disks to meld into one logi¬
cal file or volume. And what better way to
try DiskMeld, than by getting the second
disk at half price?
No one else can offer all the options
we can. That’s why we’re making this
special, limited offer (available now, di¬
rect from Emerald or from your dealer).
Powerful Mass
Storage
Emerald pioneered true mass storage
for microcomputers. Our PC, XT, AT,
and IBM compatible-based hard disk subsystems of¬
fer power, versatility, and performance you won’t
find elsewhere:
• DiskMeld™—Emerald technology that merges
two physical hard disks into one logical file or
volume.
• Larger volumes—Emerald was the first to shatter
the PC-DOS 32 MegaByte barrier.
• Faster access through Disk Caching.
• Faster throughput with our user-selectable inter¬
leave.
• On-site self diagnostic functions.
• On-site preventative maintenance with Trackfix™.
• Internal or external hard disk subsystems.
• A wide range of capacities, from 30 to 236 Mega-
Bytes.
• Xenix System III and System V compatibility.
• QNX Compatibility.
Backup: Fast, Secure,
Automatic
Our 1/4-inch tape backup subsystems provide
the best combination of speed and automation availa¬
ble. With functions and features you won’t see any¬
where else.
. ASP™—our new backup/restore utility, with an
easy to use, Lotus-like interface, digital and
graphic displays.
• Real-time information on status of backup.
• Three types of file-by-file backup.
• Super-fast streaming.
• Password security.
• Multiple backup sessions on the same tape—lets
et 50% off a 30-MB disk
& 60-MB tape drive when
you buy a 72-MB disk.
When you buy an Emerald™ 72-MegaByte hard disk subsystem at the
regular price between April 8 and May 30, 1986, we’ll give you a coupon
good for 50% off the price of our high-performance 30 MegaByte drive and /
or a 60 MegaByte 1/4 inch tape backup. (You can purchase the second disk or
tape backup anytime before September 30,1986. So there’s plenty of time to
work it into your budget.
But there’s more—$500 worth of free software when you buy all three
(the 72-MegaByte hard disk at our regular retail price, and the 30-MegaByte
drive and 1/4 inch tape backup at half price). You’ll get Borland’s Turbo
Lightning™, Reflex: The Analyst™, and Superkey™; Microsoft Win¬
dows™; Ready!™ from Living Videotext, and Funk Software’s Sideways™.
Offer Ends May 30, 1986
you save on tape media while physically organiz¬
ing your data the way you want it.
• Programmable time-activator—a backup that runs
itself.
• Advanced self-diagnostic and maintenance func¬
tions for tape subsystems.
• 60-MegaByte internal or external subsystems.
• Installable device drivers for custom applications.
• Xenix System III and System V compatibility.
• QNX Compatibility.
Mainframe Connectivity
Our Micro-to-mainframe tape subsystems per¬
form all these same functions—and they allow you
to transfer data offline between mainframes and
your PCs.
• Rapid translation between EBCDIC and ASCII—
connects micros to mainframes and minis, through
industry standard 1/2-inch tape. And does it 100
times faster than terminal emulation. (At 3.3 Me-
gaBytes per minute, that’s 3 times faster than any
other 1/2-inch subsystem available.)
• EBCDIC to dBase III and Lotus 1-2-3, via CSV
reformatting.
• Data transfer and hard disk backup on the same
system.
NetWorthy Subsystems™
All our subsystems are network-compatible,
with special support for LANs. That means you
won’t have to sacrifice any of the performance fea¬
tures you paid for when you bought your
subsystem—or your LAN.
• Novell LANs.
• IBM LANs.
• Most MS-Net compatible LANs.
• Online backup with network users
logged on.
• Hidden files and other Novell special
files.
On-Site Service
Available Now
Emerald now offers Green Light
Service™—our next-day, on-site service
option. It covers all Emerald compo¬
nents, as well as your IBM, Compaq, or
Zenith PC, most popular modems, moni¬
tors, printers, add-in memory, and multi¬
function boards in your system. And of
course, we still back our products with a
limited one-year warranty, and with ex¬
panded customer support that’s available
for free consultation ten hours of every
business day.
Hurry
Try DiskMeld now—with the second disk at
half price. Or, add 1/4-inch tape backup for half
price. Better yet, add both, and get $500 worth of
free software. This offer ends May 30, 1986, so act
now.
It’s the perfect opportunity to discover what
makes Emerald the Leader. And what keeps us
ahead of the pack. *
iteA-
Emerald
Systems Corporation
Mainframe Storage For Micros
4757 Morena Boulevard
San Diego, CA 92117
U.S.A.
(619) 270-1994
Telex: 323458 EMERSYS
Easylink: 62853804
Emerald Systems Europe
P.O. Box 310
6236 Maastricht Airport
The Netherlands
4402-77979
Telex: 56239
Turbo Lightning. Reflex: The Analyst, and Superkey are trademarks of Borland International. Microsoft Windows is a trademark of Microsoft. Inc. Ready! is a trademark of Living Videotext. Sideways is a trademark of Funk Software.
dBase III™ Ashton-Tate-Lotus 123™ Lotus Development Corporation-IBM PC and AT™, international Business Machines Corporation—Novell NetWare™ Novell Inc.-Emerald. Diskmeld. Extended Mass Storage Architecture. Archival Storage Protector. ASP. Trackfix.
NetWorthy Subsystems, and Mainframe Storage For Micros™ Emerald Systems Corporation.
CIRCLE NO. 107 ON READER SERVICE CARD
PARAMETERS
This format for the boot record header was not supported by IBM prior to DOS
2.0; nor is it supported by some non-IBM DOS vendors even for 2.0 and later.
booted from the disk. For bootable
disks this program bootstraps DOS by
loading the appropriate BIOS extension
and DOS core software and then exe¬
cuting COMMAND.COM (or other user-
specified shell). Beginning with DOS
2.0 the boot record header also has
been used to store information about
the disk itself. The layout of this header
information is shown in figure 1.
The root directory, FAT, and data
areas are used by DOS for maintaining
files on the disk. DOS manages file
space in groups of one or more sectors
called allocation units or clusters. At
the time that a file is created it is ini¬
tially given one cluster of space. The
operating system allocates physical
space on the disk only in multiples of
one cluster. The actual number of data
bytes in the file is maintained in the
file’s directory entry and is displayed by
using the DIR command.
The size of a cluster varies across
different types and sizes of disks. On a
double-sided 5 v 4-inch floppy disk a clus¬
ter is typically two sectors (1,024 bytes);
on a 1.2MB high-density 5 v 4-inch floppy
disk it is one sector (512 bytes); and on
hard disks it can be four, eight, or even
sixteen sectors. The concept of allocat¬
ing space in units of more than one
sector leads to a waste of disk space. A
file containing just a few bytes of data
will, in effect, take up 4KB (one cluster)
of space on a typical 10MB hard disk.
The cluster approach is nonetheless ef¬
ficient in managing disk space.
DOS uses the FAT to keep track of
which clusters are available on the disk,
which ones are in use by files and sub¬
directories, and which ones are not
usable (typically because of physical
damage to the disk). The FAT is simply
a table containing one entry for each
cluster on the disk. It can have entries
that are either 12- or 16-bit numbers.
DOS uses a 16-bit FAT only when it
must support more than 4,086 clusters
on the disk (for hard disks larger than
16MB). The 4,086 figure is derived from
the largest binary number expressible
in 12 bits (4,096) minus the number of
reserved FAT entries.
The FAT is always stored immedi¬
ately following the boot record. Most
disk formats store two copies of the
FAT, one right after the other. This is
not a DOS requirement, however, and
some disks (typically RAM disks) store
and maintain only one FAT copy.
DOS views the data area of a disk
as a sequence of clusters, beginning
with cluster 2. There is no cluster 0 or
1 because the first two entries in the
FAT have other functions: FAT entry 0
contains the media descriptor, and
entry 1 seems to be reserved for future
use, with a constant value of FFFH
(FFFFH for 16-bit FATs). Cluster 2
always resides immediately after the
root directory on a disk. Partial clusters
cannot exist, so if the number of sectors
in the data area of a disk is not evenly
divisible by the number of sectors in a
cluster, unused (and unusable) sectors
will appear at the end of the disk.
In DOS a given cluster can be in
one of three states at any time: (1) it
can be unused and therefore available
for use by a new or expanded file;
(2) it can be locked out, in which case
DOS will never try to use it; or (3) it
can be part of an existing file, so that
DOS must either keep track of the next
cluster in the file or indicate that this is
the last cluster in the file.
DOS monitors all three states via
the entries in the FAT. Entries of 0 indi¬
cate unused clusters. Entries of FF7H
(or FFF7H for 16-bit FATs) mean that
these clusters are locked out. Nonzero
entries less than this are used to indi¬
cate the chaining of clusters, with FFFH
(or FFFFH for 16-bit FATs) used to
mark the end of the chain. The number
of the first cluster in the chain is main¬
tained in the file’s directory entry.
The process of tracing a file’s chain
within the FAT is simple. If the file is of
zero length, the cluster number in the
directory entry should be 0, meaning
that no clusters are reserved for the file.
If the length of the file is greater than 0
but less than the cluster size, then the
file requires only one cluster of space
and this cluster number is given in the
file’s directory entry. The corresponding
value in the FAT for that cluster shows
the end-of-chain value. If the file
requires more than one cluster for stor¬
age, the first cluster number again is
given in the directory entry; however,
the FAT entry for this cluster contains
the number of the next cluster in the
chain. The chaining of succeeding clus¬
ters is handled in the same manner.
This process can be used to represent
files of arbitrary length, with the end-of-
chain value always FFFH for 12-bit FATs
or FFFFH for 16-bit FATs.
Figure 2 illustrates a short cluster
chain on a 360KB floppy disk with 12-
bit FAT entries. The directory entry
shows a file size of 2,900 bytes (B54H)
for file SAMPLE.DAT. This quantity of
space requires three 1KB clusters of
allocated space. The chain begins with
cluster 002H, as indicated by the num¬
ber in the directory entry. At location
MAY 1986
115
... DELIVERS THESE ESSENTIAL FEATURES.
DOES YOUR DBMS?
MDBS III is more powerful than
most mainframe data base management
systems. . and less expensive. MDBS III
was designed for serious application
developers like you. Like the developers
of Solomon III, the “Number One”
accounting system. And all the others
who demand these essential features
MDBS III provides:
DATA STRUCTURING- So flexible it
captures any data relationship you can
imagine. So comprehensive you'll design
complex data bases faster than ever.
TRUE MULTI-USER- Few DBMSs give
you as many facilities to guard against
haphazard concurrent data modification
as MDBS III does, down to the locking
of individual data records.
PERFORMANCE- MDBS III gives you
fast data modification and retrieval plus
extensive performance tuning facilities.
DATA INTEGRITY- MDBS III pro¬
vides airtight integrity assurances. from
range checking to transaction-logging to
enforcement of data relationships, all
automatically.
PHYSICAL DATA PROTECTION-
You get automatic recovery from media
as well as from physical data destruction.
DATA SECURITY —Protect your data
using passwords, encryption, and read/
write access down to the field level.
PORTABILITY -MDBS III runs on a
range of mini and micro computers,
including LANs, and supports a variety
of host language interfaces.
SUPPORT—mdbs is there when you
need us, with in-depth seminars, tele¬
phone support, individual consulting
and contract programming to help you
develop and install your applications.
Call us today at 800-323-3629 for more
information; in Canada or Illinois, dial
312-303-6300. Or write mdbs, P.O. Box 248,
Lafayette, IN 47902, TELEX 209147
ISE UR.
mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet.
PARAMETERS
The FAT chain begins with the first cluster number in the directory entry, and
ends with a value of FFFH for 12-bit FATs, and FFFFH for 16-bit FATs.
002H in the FAT is the number of the
next cluster in the chain, 022H. At loca¬
tion 022H is the number of the next
cluster, 040H. The FAT entry at 040H is
FFFH, indicating the end of the chain.
A FEW DISK PARAMETERS
A list of useful disk parameters main¬
tained by DOS is presented in table 1
and described below. The parameters
are grouped into three categories.
Those included in the first category de¬
fine the physical characteristics of the
disk as well as the disk drive:
TS (total sectors on the disk). This is
the number of sectors in the logical
image of the disk. It does not include
portions not visible to DOS, such as the
master boot record or other partitions.
BPS (bytes per sector). The size of a
disk sector is usually 512 bytes; it is
often smaller for software-emulated
disks (RAM disks) or larger for high-ca¬
pacity (more than 32MB) hard disks.
(See “Breaking the 32MB Barrier,”
Thomas V. Hoffmann, this issue, p. 94).
MD (media descriptor). A byte provid¬
ing a limited description of the type of
disk medium associated with a drive is
called an MD. The IBM DOS Technical
Reference defines the bit settings in this
byte as follows: bit 0, 1 = two-sided
and 0 = not two-sided; bit 1, 1 = eight-
sector and 0 = not eight-sector; bit 2, 1
= removable and 0 = not removable;
bits 3-7 must be set to 1.
SPT (sectors per track). This is the
number of sectors per physical track.
NH (number of heads). The number of
read/write heads on the drive is equiva¬
lent to the number of recording sur¬
faces available on the disk and, there¬
fore, the number of tracks per cylinder.
HS (hidden sectors). A number of sec¬
tors are hidden from DOS in that they
precede the DOS logical image on the
physical disk. This includes the master
boot record and any partitions that
occupy sectors occurring prior to the
DOS partition. An identical figure is
given for each partition in the master
boot record partition table. The DOS
Technical Reference calls this table en¬
try rel sect , which is the sector number
at which each partition begins.
The second category of disk param¬
eters consists of information relating to
the way DOS organizes disk storage:
RS (reserved sectors). This is the num¬
ber of sectors reserved at the beginning
of the disk for the DOS boot code,
which is typically one sector.
D (root directory entries). D indicates
the maximum number of entries that
can be stored in the root directory.
Because the root directory is a fixed
length (unlike subdirectories, which are
essentially files), it is able to store only
a fixed number of entries.
CF (copies of FAT). DOS maintains
copies of the FAT on the disk. For mag¬
netic media the CF is usually two; for
RAM disks, one copy is stored.
SPF (sectors per FAT). This is the num¬
ber of sectors used for each copy of the
FAT that is stored on the disk.
SPC (sectors per cluster). SPC is the
number of sectors in a cluster.
FUS (first usable sector). The first sector
of the DOS storage area on the disk
begins immediately after the end of the
root directory storage area.
FDS (first directory sector). This is the
first sector of the disk’s root directory.
TCC (total cluster count). TCC is the
total number of clusters in the data
storage area of the disk.
DFS (disk free space). This is the num¬
ber of clusters that are available for
storage of files and/or subdirectories.
DBS (disk bad space). This is the num¬
ber of clusters locked out by DOS.
Clusters are typically locked out when
the disk is formatted, because one or
more sectors in the cluster are dam¬
aged. However, the RECOVER utility
also can lock out clusters on disks that
have developed bad sectors over time.
DUS (disk used space). This is the num¬
ber of clusters in use by files and subdi¬
rectories. DUS plus DBS plus DFS
should be equal to TCC.
The third category of parameters is
a miscellaneous collection of informa¬
tion on disk usage and characteristics:
DDA (device driver address). DDA is a
far address (offset and segment) point¬
ing to the header of the DOS device
driver for the drive (descriptions of the
driver and header layouts can be found
in the DOS Technical Reference).
CWD (current working directory). The
current working directory for the drive
is set by the DOS CD command or
CHDIR function (function 3B).
DVN (disk volume name). The 11-char¬
acter volume name is assigned to the
disk when it is formatted or via the
DOS LABEL command (3.0 and later).
DCD (disk creation date). This is the
date on which the disk was formatted.
DCT (disk creation time). This is the
time at which the disk was formatted.
OEM (original equipment manufac¬
turer). The OEM is an eight-byte string
indicating the DOS version and distri¬
bution used to format the disk.
OBTAINING DISK INFORMATION
Some utilities may require that a num¬
ber of different techniques be used to
obtain all of the information needed for
a disk or drive. Table 1 summarizes
ways in which the various disk param¬
eters discussed above may be obtained.
The easiest and safest means (in
terms of transportability across DOS im¬
plementations and versions) of getting
disk information are documented DOS
function calls. The DOS function call
1BH and the related call 1CH return
bytes per sector (BPS), sectors per clus-
MAY1986
117
PARAMETERS
TABLE 1: Disk Information. Sources
PARAMETER
DESCRIPTION
4E
DOS FUNCTIONS
1C 32 36
47
DOS
BOOT REC.
MASTER
BOOT REC.
FAT
SEARCH
TS
Total sectors on disk
—
—
—
—
—
Yes
Yes
—
BPS
Bytes per sector
—
Yes
Yes
Yes
—
Yes
—
—
MD
Media descriptor
—
Yes
Yes
—
—
Yes
—
—
SPT
Sectors per track
—
—
—
—
—
Yes
—
—
NH
Number of heads
—
—
Yes
—
—
Yes
—
—
HS
Sectors hidden from DOS
—
—
—
—
—
Yes
Yes
—
RS
Reserved sectors
—
—
Yes
—
—
Yes
—
—
D
Root directory entries
—
—
Yes
—
—
Yes
—
—
CF
Copies of FAT
—
—
Yes
—
—
Yes
—
—
SPF
Sectors in FAT
—
—
Yes
—
—
Yes
—
—
SPC
Sectors per cluster
—
Yes
Yes
Yes
—
Yes
—
—
FUS
First usable sector
—
—
Yes
—
—
—
—
FDS
First directory sector
—
—
Yes
—
—
—
—
—
TCC
Total cluster count
—
Yes
Yes
Yes
—
—
—
—
DFS
Disk free space
—
—
—
Yes
—
—
—
Yes
DBS
Disk bad space
—
—
—
—
—
—
—
Yes
DUS
Disk used space
—
—
—
—
—
—
—
Yes
DDA
Device driver address
—
—
Yes
—
—
—
—
—
CWD
Current working directory
—
—
Yes
—
Yes
—
—
—
DVN
Disk volume name
Yes
—
—
—
—
—
—
—
DCD
Disk creation date
Yes
—
—
—
—
—
—
—
DCT
Disk creation time
Yes
—
—
—
—
—
—
—
OEM
Eight-byte OEM name
—
—
—
—
—
Yes
—
—
AD
Assigned disk
—
—
Yes
—
—
—
—
—
An important point to remember is that DOS function 32H is undocumented and, therefore, is subject to change or even aban¬
donment. Furthermore, the format of the DOS boot record is not standard across all DOS versions and vendors.
ter (SPC), total cluster count (TCC), and
the media descriptor (MD). (Call 1BH
queries the default drive, and call 1CH
queries a specified drive.) One com¬
mon use of both function calls is to de¬
termine the number of sectors occu¬
pied by each copy of the FAT. Sectors
per FAT are calculated as follows:
SPF = ((TCC + 2) * BPC) / BPS
where BPC is the number of bytes per
cluster in the FAT. DOS uses a BPC val¬
ue of % (1.5 bytes or 12 bits per FAT
entry) whenever it can, but beginning
with DOS 3.0, support is provided for
2-byte FAT entries (BPC = 2). The DOS
Technical Reference gives the following
rule for determining BPC: BPC = 1.5 if
TCC+2 is less than or equal to 4,086;
BPC = 2 if TCC+2 is greater than 4,086.
The largest legal FAT value is 4,086
(0FF6H), because any higher values
(0FF7H-0FFFH) indicate bad clusters
and other special conditions. The DOS
Technical Reference claims to reserve
cluster values FF0H-FF6H, but does not
explain what they are used for.
If a remainder is left in calculating
SPF, the result must be rounded up to
the next integer. The integer 2 is added
to TCC in this calculation because the
number of entries in the FAT is two
more than TCC (the first two FAT en¬
tries are reserved for storage of the
media descriptor information).
When SPF is known, the absolute
sector read interrupt (25H) can be used
to read the FAT by assuming that the
FAT starts at logical sector 1 (that is,
only one sector is used by the DOS
boot record or, equivalently, that RS =
1). This is a safe approach; however it
may not work if DOS is ever imple¬
mented to accommodate boot records
of more than one sector.
DOS function 36H provides some
of the same information as functions
1BH and 1CH. Its primary function is to
return the disk free space (DFS) given
in number of clusters.
Two other DOS functions useful
for obtaining disk information are 47H
and 4EH. Function 47H returns an
ASCIIZ string containing the full path
name of the current working directory
(CWD) for a drive. This is effective
when the current directory must be
changed (using function 3BH) and later
restored to its original state. Function
4EH can be used to scan for a volume
' label containing the disk volume name
(DVN), disk creation date (DCD), and
disk creation time (DCT). Function 11H
performs much the same job as func¬
tion 4EH but requires the use of an
extended file control block (FCB) and
does not support path names.
The DOS boot record can be read
to obtain useful disk parameters, as
shown in table 1. It is the first logical
sector on a disk and can be read with
the DOS absolute sector read interrupt
25H. The format for the disk informa¬
tion in the boot record header is shown
in figure 1 Unfortunately, this format
was not supported on DOS versions
prior to 2.0 and is only a “suggested
standard” for version 2.0. For these rea¬
sons, a program should not assume the
boot record contains valid disk informa¬
tion for systems other than IBM-sup-
ported DOS, versions 2.0 and later.
FUNCTION 32H
The undocumented DOS function 32H
provides a pointer to a useful table of
disk parameters. While not mentioned
in the Technical Reference , this function
has been noted in at least one piece of
documentation: Appendix A of the MS-
DOS 2.0 user’s manual as implemented
by Columbia Data Products contains a
sample assembly program for reading
118
PC TECH JOURNAL
PROBLEM: There’s just no easy way to move from one
software program to another.
THE SOFTLOGIC SOLUTION: Software Carousel
Now you can keep up to 10 programs
loaded and ready to run.
Hard to believe, but some people are
happy with just one kind of PC software.
Well, this is not a product for them.
But if you’re someone who
depends on many packages, all
the time—someone who’d use
several programs at once if you
could, well now you can. With
Software Carousel.
Why call it “Software
Carousel”?
In some ways, Software
Carousel works like the slide
projector you’re used to. You
load a handful of pictures, view one at a
time, then quickly switch to another. A
simple idea, with powerful possibilities
for computing.
Here’s how it works. When you start
Software Carousel, just tell it how much
memory you have, load your software and
go to work.
Need to crunch numbers? Switch to your
spreadsheet. Need your word processor?
Don’t bother saving your spreadsheet file.
Just whip over to your document and do
your work. Snap back to your spreadsheet,
and it’s just like you left it.
With up to ten different programs at your
fingertips, you’ll have instant access to your
database, communications, spelling checker,
spreadsheet, word processor, RAM resident
utilities, languages, anything you like.
Reach deep into expanded memory.
This could be the best reason ever for
owning an expanded memory card, like the
Intel Above Board, AST RAMpage, or any
card compatible with the L/I/M Extended
Memory Standard.
Software Carousel puts programs into
this “high-end” memory for temporary
storage when they’re not in use. And
switches them back out when
you want them. It’s fast, effic-
ient, and easy.
If you want, Software Car¬
ousel will even use your hard
drive for swapping. Just allo¬
cate a portion for storage, and
go to work.
Sidekick, Superkey
and Ready. All at the
same time.
You know what happens if
you try loading two or more RAM resi¬
dent utilities at once. You
get crashed keyboards,
frozen screens, all kinds of
interference between pro¬
grams fighting for control.
With Software Carou¬
sel, you can have as many
accessories and utilities on-
tap as you want. Just load
different ones in different
Carousel partitions. Since
they can’t see each other,
they can’t fight.
The easy way to
maximize PC power.
With all this power, you
might think Software Car¬
ousel is complicated and
difficult to use. Not so. Set
it up once, and it will re¬
member forever. Better still,
CIRCLE NO. 198 ON READER SERVICE CARD
Carousel will look for the programs you
use most often, and optimize them for the
quickest access.
You can spend a lot more money, and
still not get the convenience and produc¬
tivity increase of Software Carousel.
The way we see it, there are certain
things you have the right to expect from
your computer. Access to your software is
one of them. And at our special introduc¬
tory priceof just$49.95* Software Carousel
is the best way to get it.
But hurry. This price won’t last long.
Order today at 800-272-9900 (603-627'
9900 in NH) or send the coupon below.
Special combination pricing is available
for the purchase of Software Carousel
and other Soft Logic products, including
Cubit, DoubleDOS and Disk Optimizer.
,95*
4^SoftwareCarouseP49
YES! Send me_copies of Software Carousel at the
special introductory price of just $49.95*
Name-
Company_
Address-
City_
. State/Zip_
Check Enclosed □
Card #
Signature-
VISA □ MC □ AMEX □
Exp. Date
SoftLogic Solutions, Inc.
530 Chestnut Street
Manchester, NH 03101
800-272-9900
(603-627-9900 inNH)
SoftLogic
SOLUTIONS
Call today: 800-272-9900
4X
8X
12X
16X
Word
Star
■
1-2-3
BPI
With Software Carousel
running in RAM, you can
load a program and retrieve
a file up to 15 times faster.
Test conducted on an IBM XT
‘plus $5.00 shipping and handling.
PARAMETERS
Because DOS function 32H is not documented, the format of this table could possi¬
bly change with a future release of DOS. The current working directory informa¬
tion is valid for DOS versions 2.0 and 2.1 only.
Instant-C:
The Fastest
Interpreter for C
Runs your programs 50
to 500 times faster than
any other C language
interpreter.
A ny C interpreter can save you compile
Land link time when developing your
programs. But only Instant-C saves
your time by running your program at
compiled-code speed.
Fastest Development. A program
that runs in one second when compiled
with an optimizing compiler runs in
two or three seconds with Instant-C
Other interpreters will run the same
program in two minutes. Or even ten
minutes. Don’t trade slow compiling
and linking for slow testing and debug¬
ging. Only Instant-C mil let you edit,
lest, and debug at the fastest possible
speeds.
Fastest Testing. Instant-C immedi¬
ately executes any C expression, state¬
ment, or function call, and display the
results. Learn C, or test your programs
faster than ever before.
Fastest Debugging. Instant-C gives
you the best source-level debugger for
C. Single-step by source statement, or
set any number of conditional break¬
points throughout your program. Errors
always show the source statements
involved. Once you find the problem,
test the correction in seconds.
Fastest Programming. Instant-C
can directly generate executable files,
supports full K & R standard C, comes
with complete library source, and works
under PC-DOS, MS-DOS, or CP/M-86.
Instant-C gives you working well-
tested programs faster than any other
programming tool. Satisfaction guar¬
anteed, or your money back in first
31 days. Instant-C is $495.
Rational
Systems, Inc.
P.O. Box 480
Natick, MA 01760
(617)653-6194
the FAT, using 32H to determine the
FAT’s size and location.
Function 32H is called by execut¬
ing a DOS system request (interrupt
21H) with the following parameters:
• On entry
AH = 32H
DL = Drive number (A = 1, B = 2, ...
0 = current default drive)
• On exit
DS:BX = address of table of param¬
eters for drive
AL = FFH if drive is invalid
Note that assembly language programs
calling this function should preserve the
value of the DS register because the
function changes DS to point to a DOS
work area. Function 32H is supported
in DOS versions 2.0 through 3-1 and
may be supported in future versions.
Nevertheless, good programming prac¬
tice dictates checking the DOS version
(via function 30) in any program that
uses this function.
CHKDSK, RECOVER, and possibly
other DOS utilities use function 32H to
determine the size and location of the
FAT and the root directory, as well as
other useful information. The format of
the table pointed to by DS.BX is shown
in figure 3. The size and meaning of
each element in this data structure were
deduced from the way these parameters
are used by CHKDSK and RECOVER
and from observation of results on a
variety of drives and disk formats.
For the most part, the data items
shown in figure 3 correspond to those
described earlier in this article. Some
are offset by plus or minus one. Those
not described earlier are the following:
AD (assigned disk). This byte indicates
the original mapping between the logi¬
cal drive number specified in the call to
function 32H and the disk identifier
(A = 0, B = 1, ...). The value differs
from the drive that is specified in the
32H call if the drive identifier is reas¬
signed with the DOS ASSIGN command
prior to the execution of 32H.
Alt_AD. The Alt_AD byte appears
always to have the same value as the
CIRCLE NO. 181 ON READER SERVICE CARD
120
PC TECH JOURNAL
W |- . r„n
PROBLEM: Handling your need for more megabytes,
without spending megabucks on a new drive.
THE SOFTLOGIC SOLUTION: Cubit™
Now get up to twice the capacity from
all your storage media.
You know what happens. The more you use
your computer, the more information you
create. And the faster you fill up your disk.
The 10MB drive that once seemed enor-
mous is now jammed with important
files. That 20MB that should have
lasted years is crowded in a
matter of months.
Of course you could keep
buying bigger hard drives.
Or you could get Cubit and
get the maximum storage
space from the drives you
already have.
What is Cubit?
In brief, Cubit is an advanced software tool
that automatically reduces the number of
bytes required to store a file, then converts the
file back to its original size when retrieved.
Some programmers call this effect “data
compression,” others, “disk expansion.” Either
way, the result is the same.
Here’s how it works. When Cubit com'
presses a file, it first compares each word to its
massive English word dictionary. Words that
match are reduced to a predetermined code of
just one, two or three bytes each. It then saves
the abbreviated version to disk. Decompres'
sion works just the opposite.
To accommodate other words and symbols,
Cubit uses two more compression techniques.
One assigns new, shorter codes to unusual
words. Another compresses according to the
frequency of character strings in non-text data.
So no matter what kind of files you create,
Cubit ensures maximum space savings.
Best of all, you’ll be using the same fast,
reliable data compression techniques used
on mainframe computers for decades.
How much disk space will you save?
Because the vast majority of data created
on PC’s is standard ASCII text—letters,
numbers and other English
language symbols—we’ve
optimized Cubit for word
processing and database
files. With these, you’ll get a
minimum of 50% expansion on
up to a full 100% or more.
At the same time, you can
expect a significant 30% to
50% improvement with
other kinds of data. Including
spreadsheet files, program code,
graph and image files, even binary
data.
And Cubit works just as well
with floppies and tape cassettes as it
does with hard disk drives.
Run Cubit where you want,
when you want.
Maybe you’ll want to use Cubit
for all your files, or maybe just
some. So Cubit lets you specify
exactly which files to work on
and which ones to leave alone.
In RAM resident mode,
Cubit works quickly and
invisibly, compressing and
decompressing right from
within any program you run.
Or use Cubit’s powerful file
management mode. It supports
wild-card and global file names,
and addresses sub-directories
up to thirty levels deep.
Save time and money, as well
as disk space.
A compressed file is a smaller
file. So with Cubit, back-ups
take less time, as well as less space. And
communicating compressed files means
significant savings on phone line charges.
Any way you look at it, Cubit will pay for
itself in no time. And that’s especially true now.
Special limited time offer.
Buy Cubit now and you’ll save even more.
Because for a limited time, you can buy Cubit
at the special introductory price of just $49.95?
But hurry. This special price won’t last long.
Ask for Cubit at your computer dealer. Or
order directly from SoftLogic Solutions by
calling 800-272-9900 (603-627-9900 in NH),
or mail in the coupon below.
Special pricing is available when you buy
Cubit along with other SoftLogic products
including DoubleDOS, Software Carousel
and Disk Optimizer. Ask for details.
# Cubit™ *49 95 ‘
YES! Please send me-copies of Cubit at this special
introductory price.
Company
Address
City
State/Zip
Check Enclosed □
VISA □ MC □ AMEX □
Card #
Exp. Date
Signature
SoftLogic Solutions, Inc.
530 Chestnut Street
Manchester, NH 03101
800-272-9900
(603-627-9900 in NH)
SoftLogic
SOLUTIONS
Call today :800-272-9900
Spreadsheet Binary Text
files files files
With Cubit, you’ll get as much as 100%
compression on data files, effectively
doubling the storage capacity of all your
magnetic media.
CIRCLE NO. 199 ON READER SERVICE CARD
‘plus $5.00 shipping and handling.
PARAMETERS
assigned disk, except for RAM disks
where it always has a value of 0.
*NXT. This is a far pointer (offset and
segment) to the next disk device table
in the chain. If the low word of *NXT is
FFFFH, the drive is the last in the chain.
Ccwd. This entry is present only in DOS
2.0. It can have three different values. If
the current subdirectory for the target
drive is the root, Ccwd is 0. If the cur¬
rent subdirectory for the target drive is
not the root, then Ccwd usually con¬
tains the starting cluster for this direc¬
tory. Ccwd is sometimes set to FFFFH.
The circumstances under which this
happens are not documented.
Cwd. Like Ccwd, this entry exists only
in DOS 2.0. If the value of Ccwd is not
FFFFH, then Cwd contains a null-termi¬
nated string representing the current
working directory (CWD).
These last two fields are presented
only for the sake of completeness, as
they are not present in DOS 3.x. They
are more easily obtained through DOS
function call 47H.
Function 32H provides most of the
same information as the DOS boot rec-
NOVELL COMPATIBLE
ONE-STOP ARCnef
LAN SOLUTIONS
Now you can get all the tools you
need to build industry standard
TOKEN-PASSING networks from
one source.
InterContinental Micro.
Our networking packages let you
configure any combination of nodes
(PC s and compatibles, ATs, XTs, Jrs.,
Z-100 s) to a common Fileserver in just
a few minutes with our menu-driven
installation program.
Active and passive hubs allow you
to integrate up to 255 users on a single
network with increased efficiency as
the network grows.
In addition, our stand-alone ARCnet™
Workstation/Fiieserver and complete line
of S-100 Bus products (single board com¬
puters, slaves and controllers) give you
and your customers even more options.
We’re also compatible with other
industry-leading ARCnet PC™ and S-100
products, and our PC networking
boards include an optional 256K of
system RAM.
All with InterContinental Micro’s
reputation for outstanding reliability,
exceptional service, and highly com¬
petitive pricing.
Call InterContinental Micro today,
or circle the bingo number below for
ARCnet™ LAN solutions.
intercontinental
Micro
4015 Leaverton Court, Anaheim, CA
92807; Phone: (714) 630-0964
Telex: 821375 SUPPORT UD: Easylink: 62562040.
ARCnet is a trademark of Datapoint Corporation. Call for GSA pricing.
CIRCLE NO. 117 ON READER SERVICE CARD
ord but overcomes one disadvantage:
the boot record cannot always be
counted on to have the proper format.
Although undocumented, function 32H
is used by Microsoft utilities and is
supported in versions 2.0 through 3.1,
which covers most of the DOS installa¬
tions that are in use today.
MASTER BOOT RECORD
Another source of disk information is
the master boot record, which is a one-
sector record maintained on hard disks
that are capable of being partitioned. It
is located on the first physical sector of
the disk (track 0, head 0, sector 1) and
is readable only via BIOS call 13H. On
the PC/XT and PC/AT the following pro¬
gram, entered via DEBUG, can be used
to read the master boot record from
drive C: into address CS:200:
movax,0201
mov dl,0
or dl,80
xor dh,dh
mov cx, 1
mov bx,200
pushes
pop es
int 13
;2 = command for read
;1 sector
;select first disk (C:)
;8th bit indicates hard disk
;head 0
;track 0; sector 1
;buffer address
;read into es:bx
; call BIOS
The DEBUG command D ES:200
L 200 can then be used to display the
512 bytes of data. The layout of the
master boot record is defined in the
DOS Technical Reference in the section
describing hard-disk support.
As shown in the example above,
IBM starts numbering hard disks at 128
(the eighth bit is set to indicate a hard
disk). Not all BIOS implementations use
the eighth bit to indicate a hard disk,
however. The BIOS that is used by
Columbia Data Products, for example,
simply reserves disks 0 through 3 for
floppy-disk drives, and 4 and up for
hard disks. Machines that are not
PC-compatible may use totally different
schemes (including different BIOS in¬
terrupt vectors) for performing absolute
track and sector reads.
The final category of disk informa¬
tion described in table 1 is that obtaina¬
ble only by searching the FAT. The
computation of disk bad space (DBS)
requires that the FAT be searched for
the appropriate “locked-out cluster”
entry (FF7H for 12-bit FATs; FFF7H for
16-bit FATs). Disk used space (DUS) can
then be calculated either as:
DUS = TCC - DFS - DBS
or by counting the FAT entries that are
equal to neither 0 (indicating that they
are unused) nor the locked-out value.
122
PC TECH JOURNAL
Turbo, who?
Do you have to give up power and advanced potential
to get ease of use and affordability? Not anymore.
Because now, you can have UCSD Pascal for only $79.95!
If you’re making your move into
programming, there’s no better way
to go than Pascal. And starting now,
you don't have to settle for
a stripped-down
version of Pascal
in order to get a price
that’s right. Instead,
you can choose UCSD Pascal-the
recognized Pascal programming
standard in colleges and uni¬
versities throughout the
country-at the incredibly
low introductory price
of $79.95 for your
PC-DOS, MS-DOS, or
other popular computer.
Start with the standard
With an entry-level system,
you spend a lot of valuable
time learning a non-standard
form of Pascal. And you
don’t get all the capabilities a true
Pascal system is supposed to
deliver-unless you buy a lot of
add-on utilities-which can send
the cost of your system sky-high!
Worst of all, when you’re ready
to tackle anything more than short,
simple programs-you have no
choice but to move up to a more
sophisticated system (like UCSD
Pascal). And at that point, you also
have to relearn standard Pascal.
UCSD Pascal
has evarything you need
With UCSD Pascal, you get a
15f!
full-featured,
professional programming tool that’s
being used right now in the
development of major scientific and
business applications. The system
comes with an outstanding text
editor, a complete on-line tutorial,
8087 math coprocessor support and
BCD (decimal arithmetic) included in
the package at no extra cost. In fact,
UCSD Pascal contains
virtually everything you
need-as standard
equipment-for devel¬
oping the simplest
to the most
I programs.
UCSD Pascal is available for
MS-DOS, PC-DOS, UNIX, VMS,
MSX and many other operating
systems. You can use UCSD Pascal
to write programs of any size on
virtually any computer, and port
them to any other computer. And if
speed is what you’re after, the latest
native code version of UCSD Pascal
actually benchmarks favorably
with Turbo Pascal® in
execution timel ^ *
Programming that’s easy
...and fun!
At Pecan Software Systems, we
strongly believe programming
should be as easy as possible.
Pascal was originally designed
for teaching programming
skills, so it’s extremely
easy to learn and to use.
With UCSD Pascal, you’ll
be developing programs right
from the start that are
easy to write, easy to
understand, and easy to
maintain. We also believe
that programming should
be fun. So we’ve made UCSD Pascal
as enjoyable to use as it is powerful.
The right tool at the
right price
When the fun gets serious, you’ll
have a comprehensive programming
system right at your fingertips with
UCSD Pascal-a system that will
help you develop those big-league
programs you may eventually want
to write-at a price you can readily
afford.
Put UCSD Pascal programming
power on your PC now for only
$79.95! Order by mall today or phone
now 1-800-63-PECAN. UCSD Pascal
-the original standard of Pascal pro¬
gramming excellence. The new
leader in Pascal price/
performance. ^
OCSO^ed
t coP* **£»«'**
The UCSD Pascal Company i
Pecan Software Systems, Inc .
1410 39th Street, Brooklyn, NY 11218 I
718-851-3100
60
.aa*
1
Commodore
Electronics
LTD,
APPLE &
MACINTOSH are
trademarks of g
Apple Computer. vj
ATARI 520 is a *
trademark of Atari i
Corporation.
RAINBOW is a
trademark of Digital
Equipment Corporation.
TANDY is a trade¬
mark of Radio Shack.
Turbo Pascal is a
registered trademark
of Borland International
, SMS***
«'° noV ' PlS# ><*s*£
i
\
Hart®
sviw^
1
l( (lW
. an old® 1 '
\Jf\A ^
UCSD Pascal is a registered trademark of The Regents of University of California
art
PCT
CIRCLE NO. 180 ON READER SERVICE CARD
The problem
with most 4GLs is
they’re finished
before you are.
And where does that leave you?
With the final, tricky ten percent of
your application yet to write, and no 4GL
left to write it with.
Introducing INFORMIX-4GL.
Never again will you have to switch
to C or COBOL to truly customize your
application. Instead, INFORMIX-4GL
provides an all encompassing syntax for
every aspect of your application building.
So once you’re programming in
INFORMIX-4GL, you never have to leave
it. And considering all it can do, you may
never want to.
Now, for instance, you can write in just
ten to twenty pages of 4GL code, applica¬
tions that would take hundreds of
pages with C.
That’s because INFORMIX-
4GL was designed from the
start to be an application
building language. It’s built
around the full implementation
of ANSI Standard SQL. And fea¬
tures Custom Screen Generation,
, Custom Menu Building and a built-
in Report Writer.
What’s more, INFORMIX-4GL works
with UNIX;MS™-DOS and Networked DOS
operating systems. And, of course, it’s
compatible with INFORMIX-SQL—our
popular, proven DBMS. So files you build
with one, you can access with the other.
Fbr more information and our free
booklet,“A 20-Minute Guide to INFORMIX-
4GL”call 415/322-4100.
Or write RDS, 4100 Bohannon Drive,
Menlo Park, CA 94025.
And start taking your applications to
even greater heights.
INFORMIX is a registered trademark of RDS. Other names identified by TM are
tradenames and/or trademarks of their respective manufacturers.
© 1986, Relational Database Systems, Inc.
RELATIONAL DATABASE SYSTEMS, INC.
CIRCLE NO. 143 ON READER SERVICE CARD
PARAMETERS
USEFUL UTILITIES
Two system utilities that can be used to
explore DOS disk parameters and di¬
rectories are presented here. INFO
prints out a table of information about a
drive; SHOW is an enhanced directory
similar to the DOS DIR command.
These programs are written in
Microsoft C, version 3.0, with one
exception: the absolute sector read
function shown in listing 1 is written in
assembly language as a subroutine
designed to be called from C. It can be
used to read one or more sectors from
any DOS disk. The routine takes four
arguments: a drive identifier (0 for A:, 1
for B:, etc.); the number of sectors to
be read; the beginning logical sector;
and the address of a buffer area in
which to store the data.
DOS interrupt 25H is used in this
routine. It behaves differently from
most interrupts in that it deliberately
leaves original copies of the processor
flags on the stack. This is done so that
return information may be passed back
using the flags. However, this scheme
prevents the use of Microsoft C’s
int86x() function for performing inter¬
rupt 25H. This is why assembly lan¬
guage was used for this portion of these
programs. In this implementation the
stack pointer is corrected by two
INC SP instructions after the interrupt
call to throw away the saved flag values.
Sector numbers are specified using
a logical view of the disk. Logical sector
numbers begin with 0 and are obtained
by starting with physical track 0, head 0,
sector 1 (physical sectors are numbered
from 1 by convention) and increment¬
ing sector numbers within a track until
it is full. Once the track is full, the head
number is incremented; only after all
heads on the physical disk have been
accessed can the track number be in¬
cremented. This logical arrangement
minimizes head movement from track
to track, which is the most time-con¬
suming physical operation that the drive
must undertake.
As an example, on a standard
360KB floppy disk, logical sectors 0
through 8 are on side 0 track 0, logical
sectors 9 through 17 are on side 1 track
0, logical sectors 18 through 26 are on
side 0 track 1, and so on.
Sectors within a track are incre¬
mented sequentially, but the physical
arrangement of sectors within the track
is not adjacent. This arrangement is a
consequence of the interleaving of
sectors, again to maximize speed of ac¬
cess to a given sector, taking the rota¬
tion of the disk into account. Interleav¬
ing considerations are completely invisi-
MAY1986
ble to driver software once an inter¬
leave factor has been set.
This description of physical to logi¬
cal sector mapping may not hold for
hard disks. In particular, it will not hold
for bootable hard disks that maintain a
partition table. Such disks store a
master boot record on the first sector
of the disk. This record contains the
partition table as well as code to locate
and pass control to a bootable partition.
In addition to the master boot record,
one or more partitions may be stored
on the disk prior to the partition con¬
taining the specified DOS drive. The
sizes of these prior partitions must be
added to the offset from the first physi¬
cal sector to obtain a true logical-to-
physical mapping of sectors.
The INFO utility (listing 2) is
invoked with the following command
info [d:]
in which d is an optional drive specifi¬
cation. If d is omitted, the current de¬
fault drive is assumed.
A sample of the output from INFO
is shown in figure 4. It includes the vol-
Suftuan.* dc»i#iul
ii.riit.Mr':
Lattice .
SecretDisk
SecretDisk
It keeps your personal computer personal
Thanks to SecretDisk, your programs and data can be com¬
pletely protected from unauthorized access. And best
of all, when you want to use those secured files, just enter
the password and they’re instantly available.
SecretDisk works right along side of your other software
by creating virtual disk drives that are automatically and
completely encryted. And for just $ 59.95 you’ll come
away with peace of mind knowing that an intruder won’t
come away with a piece
-I-of information.
Lattice
To place your order:
Lattice, Incorporated
Post Office Box 3072
Glen Ellyn, Illinois 60138
312-858-7950
TWX 910-291-2190
CIRCLE NO. 160 ON READER SERVICE CARD
125
PARAMETERS
FIGURE 4: Sample Output from INFO.EXE
*** Information for Disk
C: ***
Volune GLENNS_DISK created Dec 8, 1985 5:46p
OEM name : IBM 3.1
Media descriptor (hex): f8
Volume has 4 Surfaces,
305 Tracks with
17 Sectors/Track
Sector size is 512 bytes. FAT entries are 12 bits
Cluster size is 4096 bytes (8 sectors)
Usage:
Sectors
Bytes Clusters
Hidden from DOS |
3 1
1536 |
1
DOS Boot Area
1 1
512 |
1
File Allocation Table |
16 |
8192 |
Root Directory |
32 |
16384 |
1
Files & Subdirectories |
14688 |
7520256 |
1836
1
Locked Out |
o 1
0 1
0
1
Available
6000 |
3072000 |
750
1
TOTAL |
20740 |
10618880 |
2586
1
The disk
is 70% full
INFO tests the OEM field for validity and omits boot record
information if the field contains nonprintable characters.
Right: The example invocation command is SHOW *.BAK A:
Noncontiguous cluster chains are indicated by cluster num¬
ber lists printed on more than one line.
FIGURE 5: Sample Output from SIIOWEXE
Volume in Drive C is GLENNS_DISK
Directory of C:\WORK
Filename Ext
Bytes
Actual
Last Modified
Flag
Clusters
LC
BAK
170
4096
Sep 17, 1985
1:32p
a
[16f]
TEST
BAK
822
4096
Jan 8, 1986
9:29p
a
[751]
SHOWFAT
BAK
3142
4096
Oct 5, 1985
8:16p
a
[23c]
SH0WFAT3
BAK
4949
8192
Oct 16, 1985
8:29a
a
[242]-[243]
INFO
BAK
8064
8192
Feb 5, 1986
11:34a
a
[73f]
[745]
GETID
BAK
3329
4096
Jan 5, 1986
12:18p
a
[6f5]
DOSFNS
BAK
5044
8192
Jan 23, 1986
10:01a
a
[255]
[51e]
CTRANS
BAK
515
4096
Jan 9, 1986
9:12a
a
[877]
INF04
BAK
8424
12288
Jan 13, 1986
1 slip
a
[729]-[72a]
[72e]
SHOW
BAK
10022
12288
Feb 5, 1986
12:51 p
a
[76f] - [771]
TOTALS
44481
69632
10 Files, 7 Contiguous, 3 Noncontiguous
Files use 17 clusters a 4096 bytes/cluster
3067904 bytes free
Files would require 49152 bytes on drive A
267264 bytes free on drive A
ume name assigned to the disk when it
was formatted, the time and date the
disk was formatted, the contents of the
OEM field in the boot record, the me¬
dia descriptor byte, the number of re¬
cording surfaces (heads) in the drive
and number of tracks and sectors per
track, the physical sector size in bytes,
the size of FAT entries, and the cluster
size. The head, track, sector, and OEM
items are printed only if the disk’s boot
record follows the format in figure 1.
The volume name, time, and date are
printed only if a volume name entry is
in the root directory.
In addition, a table of disk usage is
printed. For each of seven types of
usage the space allotted is given in
bytes, sectors, and (where meaningful)
clusters. The amount of space reserved
is listed for the following:
• Sectors not available—Sectors that
cannot be allocated to any file
because they are too few to form a
single cluster.
• DOS boot area—The amount of space
reserved for the DOS boot record,
typically one sector.
• File allocation table—The amount of
space reserved for storage of the
FAT(s) maintained on the disk.
• Root directory—The amount of space
that is reserved for the storage of the
root directory.
• Files and subdirectories—The amount
of space used by all files and sub¬
directories, including hidden and sys-
tem files not displayed by the DIR
command and sectors used by the
subdirectories themselves, a number
not included in the output from DIR.
• Bad sectors—The amount of space
locked out by DOS because of prob¬
lems encountered with the media. If
one sector is bad in an area of a disk,
the entire cluster associated with that
sector must be locked out.
• Available—-The amount of space avail¬
able for allocation to files and/or sub¬
directories.
For the sector and byte counts, the
value shown is the sum of the entries
above it in the table, and it reflects the
total space in the logical image. For the
cluster count, the total is also the sum
of the entries above it, but it reflects
only the number of clusters usable for
file/subdirectory space (and locked-out
clusters), not the total space on the
disk. (In other words, it is not equal to
the total number of sectors divided by
the number of sectors per cluster.)
The last piece of information dis¬
played by INFO is the percentage of the
disk that is in use. This is calculated as
the ratio of the number of clusters in
files plus the number of locked-out
clusters divided by the total number of
clusters on the disk.
If the drive specified on the com¬
mand line is mapped into another phys¬
ical drive (via the DOS ASSIGN com¬
mand), the first line of the output from
INFO is appended with the message
(Assigned to drive x:)
where x: is replaced with the physical
drive identifier for the target drive.
INFO uses two include files named
STRUCTS.H and DOSFNS.H, which are
shown in listings 3 and 4, respectively.
STRUCTS.H contains most of the impor¬
tant data structures used by the pro¬
gram. DOSFNS.H contains a number of
useful functions to perform DOS-related
activities. Many of these use the inter¬
rupt-calling facilities provided in Micro¬
soft C and are in that sense not trans¬
portable to other compilers. These con¬
ventions are similar to those used in
other C implementations, however, and
should be easy to convert.
One useful feature of Microsoft C,
not currently supported by many other
compilers, is the implementation of a
far pointer type. A far pointer, which is
a 32-bit data item consisting of a seg¬
ment and offset, is particularly useful in
implementing the get__table( ) function
shown in listing 4. Get_table() returns
a far pointer that is simply the DS:BX
pointer obtained from DOS function
32H. This pointer can then be used as
would any other pointer (using C’s ->
construct) in referencing elements in
the table. The details of segment man¬
agement are all handled by the com¬
piler. Implementation of get_table( )
using compilers that do not have a far
pointer type would be most easily
accomplished by making a local copy
of the table and returning a standard
(near) pointer to it.
Another noteworthy timesaver used
in DOSFNS.H and STRUCTS.H is C’s bit
field capability. This is used to define
the packed bit fields in the DOS time
126
PC TECH JOURNAL
Get up to speed
for under
a hundred bucks*
If you’re writing in the BASIC that
came with your IBM® PC, now you
can make your programs scream.
Microsoft’s new QuickBASIC Com-
piler will punch you right into warp
speed, accelerating your programs by
as much as ten times. And all with
hardly any code changes.
You get all this at a price that won’t
slow you down, either. Just $99 and
you’re in.
The new QuickBASIC Compiler
was designed to work with the
j S. : y \ . '
GRAPHICS
STRUCTURE
a j Music Inc.
. 7 V / Sales '85
Start:
/ V _
GOSUB init
j - n Sales ' 84
mm "U5R5”
/ — Expenses
WHILE i<nax
l
PL«¥ "ABC”
i = i i
MUSIC
mm
, .
END
Init:
CLS
wax = 3393
RETURN
programs you’ve already written. It
supports all BASIC sound and graphic
statements including PLAY SOUND,
LOCATE, DRAW GET, PUT, LINE,
CIRCLE, PSET, and COLOR.
So your graphics and music routines
will look and sound as they should.
And when you’re ready to move
into structured programming, Quick¬
BASIC also offers language extensions
for a speedy transition. With optional
alphanumeric labels you can make
your programs more readable. And
compiled subprograms will save
you time.
So get moving. MICROSOFT.
V_>clU US HOW iOr The High Performance Software™
more information on the QuickBASIC
Compiler and the name of your
nearest Microsoft dealer. Just ring
(800) 426-9400. In Washington State
and Alaska, (206) 882-8088. In Canada,
call (416) 673-7638.
Then go give your programs a
swift kick.
Microsoft is a registered trademark and The High Performance Software is a trademark of Microsoft Corporation.
IBM is a registered trademark of International Business Machines Corporation.
There’s only one winning card
in the PC Acceleration Game.
The 286 Express Card™ from PC Technologies
The 286 Express Card™ is unlike any other PC accelerator board. Why? Because
it not only gives you all the advantages of a high-performance accelerator, but it
also happens to be the original half-slot card. With a price tag too good to believe.
The design of the 286 Express Card is based on Intel’s 80286 microprocessor —
arguably the fastest VLSI processor in the industry. Designed specifically for the
IBM PC and XT, the 286 Express is compatible with existing RAM, communication
and peripheral cards, as well as most popular PC DOS software — with no software
overlays or modifications required.
The 286 Express Card is loaded with value-added features, including 8KB of
cache memory. DMA compatibility. The ability to use the memory on your
motherboard and add-on memory cards. An optional 80287 floating point
co-processor that works to accelerate the latest versions of spreadsheet and
database software. And enough power to speed up your software programs —
custom or off-the-shelf— anywhere from 200% to 600%.
704 Airport Blvd.
Ann Arbor, Michigan 48104
313/996-9690 • 800/821-3086
Telex 503589
Why gamble with PC productivity? To order — or for the name of the dealer
nearest you — call PC Technologies today at 800/821-3086 ext. 102. And let us
deal you the winning card.
IBM, IBM PC and XT are registered
trademarks of International Business
Machines Corporation.
PC Technologies Inc.
CIRCLE NO. 241 ON READER SERVICE CARD
PARAMETERS
and date structures (ms_time and
ms_date). The unpacking and masking
of the appropriate hours, minutes, day,
month, and year elements are handled
automatically by C.
The structure and function of INFO
are fairly straightforward. The program
first verifies that the DOS version is be¬
tween 2.0 and 3.1. This is done using
the global variables _osmajor and
_osminor provided by the Microsoft C
compiler, but could have been done as
well using DOS function 30 to retrieve
the major and minor version numbers.
INFO next checks for a supplied
parameter and, if found, parses it for a
valid drive specification. If the drive is
valid, the drive’s disk table is retrieved
using the routine get_table(), and the
first sector on the drive is read into the
dynamically allocated structure bpb
using the absread() routine (listing 1).
The three segments of program
output are handled by the routines
print_vol( ), print__info( ), and
print_tbl(). Print_vol() uses the value
of AD to determine if the drive has
been reassigned. If so, the reassigned
drive ID is displayed. Print_vol() next
searches the target disk for a valid vol¬
ume label entry in the root directory. If
one is found, the time and date fields
for the entry are converted to ASCII
strings and displayed along with the
volume name. If no volume name entry
is found, the message “Volume has no
label” is displayed.
Print_info( ) displays general infor¬
mation about the drive, most of which
is obtained from the disk table (tbl). It
determines whether or not the informa¬
tion in the boot record (bpb) is usable
by seeing if OEM contains only print¬
able characters. If not, then the boot
record format probably does not follow
the DOS format, and thus the OEM
name and track and sector information
in the boot record are assumed to be
invalid and are not displayed.
Print__tbl() displays the usage sum¬
mary table and corresponding totals
along with the percentage of disk use.
Information on hidden sectors is in¬
cluded only if the boot record informa¬
tion is determined to be valid (again,
the criterion is whether or not the OEM
field contains printable ASCII charac¬
ters). The sizes of the boot area, FAT,
and root directory are determined from
the disk table (tbl). Statistics on used,
available, and locked-out clusters are
then computed from the FAT. The rou¬
tine scan_fat() is used to scan the FAT
for the appropriate entries.
SHOW, the second program pre¬
sented here, is an enhanced directory
MAY 1986
utility that functions in a manner similar
to the DOS DIR command
show [d:filename.ext [a:]]
where all or part of the file specifica¬
tion may be omitted. If the drive speci¬
fication d: is not given, the current
default drive is assumed. If no file name
is given, *.* is assumed.
The optional second parameter can
be used to specify an alternate drive for
the files. If this second parameter is
given, SHOW will print out the amount
of space the displayed files would occu¬
py on this alternate drive as well as the
actual space available on the drive. This
is useful for determining if a set of files
will fit on a floppy disk.
The output of SHOW is similar to
the output of DIR; however, some addi¬
tional pieces of information are in¬
cluded. A sample of the output from
SHOW is shown in figure 3.
In addition to the file size from the
directory, the number of bytes allocated
to the file is also displayed. In the out¬
put in figure 5, the file CTRANS.BAK is
313 bytes long, but 4,096 bytes (one
cluster) are allocated to it for storage.
SHOW also displays the attribute bits
for the file and (unlike the DOS DIR
command) lists system and hidden files.
The attributes are coded as follows:
a = Archive. This bit is set if the file has
been changed since it was last backed
up using BACKUP (or any other utility
that clears the archive bit),
h = Hidden file. Files with this bit set
are not normally processed by DOS
commands such as DIR and COPY,
s = System file. These files are reserved
for DOS use and may have to reside in
certain fixed locations on the disk,
r = Read-only file. Files with this bit set
cannot be opened for write access.
Also included for each file is the
chaining of clusters as computed from
the FAT. This chaining is displayed as a
sequence of one or more cluster num¬
bers in hexadecimal format enclosed in
square brackets. If a gap exists in the
chain, the file is noncontiguous—that is,
the file’s allocated space is split across
two or more noncontiguous locations
on die disk. This can have a pro¬
nounced effect on system performance,
particularly in realtime applications in
which disk response time is critical.
SHOW indicates file discontinuities by
starting a new line for the file’s output.
In the example shown in figure 5, the
file INF04.BAK uses three clusters start¬
ing with the two contiguous clusters at
729H and 72AH and finishing with clus¬
ter 72EH. A gap exists between the first
two clusters and the last one.
Does YOUR disk Look Like
THIS?
Let
H.D.Tuneup
cleanup your act!
H.D. Tuneup tunes your disk file
system, making it better than new.
File loads speed along like new.,
Directory searches are faster than
new.
H.D. Tuneup reallocates all of your
files to be contiguous. Each file is
placed in its proper location,
adjacent to it's neighbors in the
directory.
Disk operations run faster when
your files have been Tuned.
H.D. Tuneup relocates your sub¬
directories into one area of your
disk, as close to the root as possible.
All deleted entries are actually
removed.
Your drive head moves less from
directory to directory than when
your disk was new. TREE/F will fly
when listing all of your files.
H.D. Tuneup requires IBM
PC/XT/AT compatability, 196k, and
DOS 2.x/3.x. Fixed disks up to 32mb
may be tuned, along with any 5.25"
diskette.
NOT COPY PROTECTED!
ONLY $39.95 plus $3.00 S/H
SofCap Inc.
P.O. Box 131
Cedar Knolls, N.J. 07927
Visa (201) 386-5876 M/C
N.J. residents add 6% sales tax.
For the best performance
from your disk
TUNE IT UP!!
Visa, Master Card, Checks, Money Orders, or
COD only.
CIRCLE NO. 164 ON READER SERVICE CARD
129
PARAMETERS
When the file listing is complete,
some summary information is printed,
including the total number of files; the
number of contiguous files; the number
of noncontiguous files; the total number
of bytes used by the files; the total num¬
ber of bytes allocated to the files (indic¬
ative of the true amount of space used
by the files); and the number of bytes
free on the disk.
If the alternate drive parameter is
specified, the output also shows the
amount of space that the displayed files
occupy on that drive. In at least three
cases, this will not correspond to the
amount of space required to copy the
files to the alternate drive using the
DOS COPY command: (1) if any of the
displayed files are hidden or system
files /which are not processed by
COPY j, r 2) if any of the displayed files
already exist on the alternate drive (in
which case they are overwritten by the
COPY command); (3) if the files are
copied to a subdirectory on the alter¬
nate drive, and the subdirectory has to
be expanded to hold the new entries.
TTie source code for SHOW is
given in listing 3. SHOW uses the same
two include files as INFO, namely,
STRUCTS.H and DOSFNS.H.
SHOW first verifies that the DOS
version is in the range 2.0 to 3.1. Next it
parses the first and second command
parameters, if they exist, in DOS ex¬
tended FCBs. The program then sets the
appropriate bits in the FCB to request
matches for hidden, archive, system,
and read-only files, and passes control
to the do_entry() routine, which pro¬
ceeds to perform the main processing
and display functions.
Note that because SHOW uses
FCBs it is unable to process path
names. Altering SHOW to support path
names would involve the use of func¬
tions 4E and 4F in place of functions
11 and 12 in the search_first() and
search_next( ) routines.
Do_entry( ) first gets the disk table
for the target drive and (if one was
specified) the alternate drive, using the
get_table() routine. It next reads the
FAT for the target drive. Do_entry( )
then looks for matching file entries in
the target drive entry using the
search_first() and search_next( ) rou¬
tines. If none is found, an appropriate
message is printed; otherwise the infor¬
mation for each matched file is output.
Output for each file consists of the
file name and extension; the bytes in
the file (as stored in the directory
entry); the bytes actually used by the
file (as computed from the FAT); the
date and time the file was last modified;
NETWORKS aoo<3 ra®BBo
©C3E <3«(5[R5@ ISAM ©©US t?K]SK] MLCL2
The creator of Access Manager™ brings you the [.«ppiM
most powerful C source code, B+ Tree file handler: w"l#l CC
• multi-key ISAM and low-level B+ Tree routines
• complete C source code written to K&R standards
• single-user, network and multi-tasking capabilities
• fixed and variable record length data files
• virtually opened files accommodate limited file descriptors
• no royalties on application programs
8395 COMPLETE
Specify diskette format:
• S'A" MS-DOS
• 8" CP/M
• 3'A" Mac
• 8" RT-11
For VISA, MC and COD orders
call (314)445-6833
FairCom
2606 Johnson Drive
Columbia, MO 65203
© 1985 FairCom
The following are trademarks: c-tree and the circular disk logo—FairCom; MS—Microsoft Inc.;
CP/M and Access Manager—Digital Research Inc.; Unix—AT&T; Apple—Apple Computer Co.
the flag settings; and the chaining of
clusters. The printing of cluster chain¬
ing is performed by the routine
do_chain(), which handles both 12-
and 16-bit FAT entries properly.
If an alternate drive specification is
given when SHOW is invoked, the pro¬
gram keeps track of the amount of
space the files would require on this
alternate drive. This total is maintained
in the variable alt_total, which repre¬
sents the number of clusters the files
would require on the alternate drive.
The amount of free space on the alter¬
nate drive can also be determined by
using the function getdfs().
GOING FURTHER
Other useful utilities might include pro¬
grams to display and edit the FAT and
root directory; to recover (undelete)
files; to compare the two FAT copies on
a disk and replace one if it is damaged;
to reorganize a disk that has become
highly fragmented (that is, it contains
many files that are noncontiguous).
As is the case with system utilities,
each of these proposed programs has
its problems and challenges. The FAT
copy program may be impossible to
write because DOS, in part, uses the
media descriptor byte stored in the FAT
to identify the disk type, and hence the
size of the FAT. If the first copy of the
FAT is damaged, then determining the
location and size of the second copy in
a generalized way may be futile. File re¬
covery presents its own challenges be¬
cause it requires piecing together infor¬
mation on which free clusters were for¬
merly allocated to the deleted file. A
disk reorganization program would re¬
quire careful algorithm design with an
eye toward efficiency and the ability to
recover from power loss or interrup¬
tion during recovery.
Because both DOS and mass stor¬
age devices are continually evolving, the
techniques and information fields
described in this article are likely to
evolve as well. Function 32H may be¬
come a supported function—or it may
disappear completely. Manufacturers of
compatibles may finally agree on a stan¬
dard format for the DOS boot record.
As machines become more complex,
standards grow more important, and
understanding the machinery within
DOS becomes essential to interpr eting
and using those standards. ll 11 ”*]
Glenn F. Roberts, Ph.D., is a member of the
technical staff of the MITRE Corporation in
McLean, Virginia. His current work involves
development of software for realtime process¬
ing of aviation weather data.
130
CIRCLE NO. 119 ON READER SERVICE CARD
PC TECH JOURNAL
Read whal the experts say
about the PC's Limited AT.
“I have no qualms recom¬
mending this system to
experienced users who
need the added speed.”
—Sol Libes,
Micro/Systems Journal,
January/February 1986
“The PC’s Limited AT™
proved to be the functional
equivalent to the IBM®
product, only faster. Priced
at roughly one-third less,
it rates as one of the best
bargains available.”
—Winn L. Rosch,
PC Magazine ,
February 25, 1986
“If price is your primary
consideration, skip both
AT&T® andTI® and choose
this issue’s best buy, the
PC’s Limited AT™. Check
its benchmark results—
you won’t be sacrificing
performance to save
money.”
—PC Magazine,
Editor's Choice,
February 25, 1986
I's not enough to convince you,
now we've got a 30-day money-back guarantee.
80286-based System Unit (Runs at 6MHZ. 8MHZ option
included at no extra charge.)
• 1024K on Mother Board
•1.2 Meg Floppy Drive
• Combined Floppy/Hard Drive Controller Card
• AT Keyboard
• 192W Power Supply
• 2 Serials and 1 Parallel Port
• Clock/Calendar with Battery Backup
• Operations Manual
• One Year Limited Warranty
$1995
I’m Michael Dell, President of PC’s Limited. And I want you to know about your latest industry-leading step. We’re so sure
that you’ll like everything about our PC’s Limited AT that we’re willing to offer you a 30-day money back guarantee on it.
This machine, with 1024K on the Mother Board and an 8MHZ option included at no extra cost, has been a standout since
we introduced it. So give us a chance to show you what it can do for your operation. With a deal like this, there’s no way
you can lose. (And see the opposite side of this page for information about our T\irbo PC™, plus details on our guarantee.)
18&L AHSu and Tl ate registered uxknnarfcts oi’ rhdr r^petrrive
■V7
When a PC's Limited Turbo PC is on your
desk, you'll think it's a headliner too.
“ . . a good machine. And a
heck of a buy. . . a fine
box. One I’d happily
choose over Big Blue’s
original... no status. . .
beyond the status that at¬
taches to getting twice as
much for your money.”
—Jim Seymour,
PC Week ,
August 13, 1985
“It almost sounds un¬
believable.”
—MIS Week ,
August 21, 1985
TOTAL SATISFACTION GUARANTEE
WARRANTY
For W»rr»nry Service: One year Limited Warranty on PC’. Limited product.. Contact
Technical Support for a Return Authorization Number (RMA). Return, mutt be ac¬
companied by your RMA, the invoice, and a brief explanation. During the Warranty
Period. PC’. Limited will repair or replace item, at our option.
30-DAY TOTAL SATISFACTION GUARANTEE
Any item bought from PC’. Limited may be returned within JO day. from the date
it wax .hipped for a full refund of your pure haw price. Returned item, mu.t be ai-
new, not modified or damaged, with all warranty card., manual., and packaging in¬
tact. Returned item, mu.t be .hipped prepaid and in.ured, and mutt bear a PC*.
Limited Credit Return Authorization (CRA) on the .hipping label. Call PC.
Limited’. Cu.tomer Support Department for CRA. No credit, blued after JO day.
horn date of ihipmcnt.
CONSUMER TIP
When .hopping for PC product., a.k our competitor, about their refund poiiciet.
“We tested a wide variety of
software on the machine
and everything ran well. . .
The bottom line for any¬
one considering buying
one of these computers
would seem to be this:
PC’s Limited sells quality
systems for extraordinarily
low prices.”
—PC Week,
October 29, 1985
• 16-bit 8088-2 System Unit • AT Keyboard
(runs at 4.77 or 6.66MHZ) • BOW Power Supply
• 640K on Mother Board • Operations Manual
• 360K Floppy Drive • One Year Limited Warranty
■
$795
Our Turbo PC™ has sold in large quantities since the first week we introduced it. Of course, that’s not surprising, since we
were the first company to break the $800 barrier with a machine that outruns the “Big” name by a 40% speed factor. Now,
we’re going to extend the margin even further by offering a 30-day money back guarantee. If that sounds good, it’ll look
even better when one of our Ihrbo PC’s is on your desk. So call us today. We’re guaranteeing you’ll like what you get.
Some quxn ti tie. may be limited. PC.
Limited aetla equipment certified to
be compliant with FCC Clam B .tan-
datda. When equipment manufac¬
tured by PC. Limited ha. not yet
received certification, PC. Limited
will Hibuitute equivalent certified
equipment. All price, lie .object to
change without notice. We arc an
independent tale, organization.
Ea
m PC'S LIMITED
SALES CALLS OUTSIDE TEXAS, 1-800-426-5150
1611 Headway Circle, Building 3, Austin, Texas 78754
Sales Calls from anywhere in country, (512) 339-6962
Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964
•Limited Warranty Telex No 9103808386 PC LTD FAX (512) 339-6721
Call for latest prices.
FREE SHIPPING (!)
in the Continental United States via UPS Ground.
NO SURCHARGE FOR E3 OR
Floppy Disk Drive ELECTRONICS
Half-Height, DS/DD
Also available for AT-
in Gray Color. PANASONIC
Half-Height, DS/DD
TEAC
55-B, Half-Height, DS/DD
$109
64K RAM
Set of 9 chips, 200 or 150 Nanoseconds
$10
per set
256K RAM $29 5,11,19 ^
PC's Limited AT
Multifunction Cord
• Expandable To 3 Meg
(1.5 on Board/1.5 on Piggy Back Board)
• Supports 64 or 256K Rams
• Parallel Port
• Serial Port (2nd Serial Optional)
Piggy Back
W / 0 K Board $59 w/OK
PC's Limited Mini l/(
• Serial Port
• Parallel Port
• Clock
• Software
• Fits In Short Slot
$99
300/1200 Baud Hayes
Compatible Modem
Fits in Short Slot
$159
PC's Limited Monochrome Graphics
Fully Hercules Compatible
$159
• Text Mode 80 X 25
• Graphics Mode 720 X 348 Pixels
• One Parallel Printer Port
PC'S LIMITED Six Function Cord
• Upgradable to 384K
• Clock/Calendar
• Includes Software
• Parallel Port
• Serial Port
• Game Port
Two Year Warranty •
w/OK $99 w/384K $149
Seagate
20 and 30 MEG
High Speed
40 MS Access Time
Hard Drives for AT™
Heads park automatically
at power down.
20 MEG $579
30 MEG $699
40 MEG $819
Includes Seagate Full Height Hard Disk.
Cable, and Mounting Ralls.
Boots from Hard Disk. One Year Warranty. •
PC's Limited PC-576 RAM Board
• Expandable to 576K
• Supports 64K or 256K RAMS
• Fits in Short Slot
$69
W/OK
SOLVE TOO. POWER PROBLEM.
XT' POWER 130W
$99
Directly replaces power
supply in PC."'
Fully XT’" compatible.
One Year Warranty '
PC'S LIMITED PC'S LIMITED
MONO-1 MONITOR RGB-1 MONITOR
$169 $459
• 12-inch screen
• Amber
• Compatible with
or color graphics cards
• .31.MM dot pitch
• RGB input
• 12-inch screen
• 690X240 resolution
• 16 colors
TOTAL SATISFACTION GUARANTEE
WARRANTY
For Warranty Service: One year Limited Warranty on PC’s
Limited products. Contact Technical Support for a Return
Authorization Number (RMA). Returns must be accompa¬
nied by your RMA, the invoice, and a brief explanation.
During the Warranty Period, PC’s Limited will repair or re¬
place items at our option.
30-DAY TOTAL SATISFACTION GUARANTEE
Any item bought from PC’s Limited may be returned within
30 days from the date it was shipped for a full refund of
your purchase price. Returned items must be as-new, not
modified or damaged, with all warranty cards, manuals, and
packaging intact. Returned items must be shipped prepaid
and insured, and must bear a PC’s Limited Credit Return
Authorization (CRA) on the shipping label. Call PC’s
Limited’s Customer Support Department for CRA. No
credits issued after 30 days from date of shipment.
CONSUMER TIP
When shopping for PC products, ask our competitors about
their refund policies.
Seagate HD o Western Digital Controller
20 MEG Hard Disk System for PC'
Internal
$449
For Xebec 1220 Combined Floppy/Hard Disk Controller add $75.
Includes Seagate Hard Disk, Western Digital Controller, Cables,
Manual, Software, and Mounting Hardware.
Boots From Hard Disk 65 MS Access Time One Year Warranty •
Our Hard Disk Systems arc compatible with the latest versions of the following Computers: IBM PC.
IBM XT. ATAT 6300.Compaq Deskpro, Tandy 1000, Tandy 1200. PC's Limited Tirbo PC. Zenith ISO.
Zenith IS!. Leading Edge PC (Both Models). Sperry PC, Wysc PC. Telcvidco PC. Faraday Mother Boards.
Corona PC. Eagle PC. ITT PC, and most other Compatibles.
PLEASE SPECIFY YOUR COMPUTER TYPE WHEN ORDERING.
WP*
SALES CALLS OUTSIDE TEXAS, 1-800-426-5150
1611 Headway Circle, Building 3, Austin, Texas 78754 frjjjph '
Sales Calls from anywhere in country, (512) 339-6962 I^S
PC'S LIMITED
received certification, PC's Limited
will substitute equivalent certified
equipment. All prices are subject to
change without notice. We are an
independent sales organisation.
Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964
•Limited Warranty Telex No 9103808386 PC LID FAX (512) 339-6721
Panasonic, TEAC, Mitaubilhi, Intel, IBM,
Hercules, Plantronica, Xebec, Seagate, Weatem
Digital, AT&T, Compaq, Tandy, Leading Edge,
Sperry, Wyae, Televideo, Faraday, Corona,
Eagle, ITT, and Zenith are registered trade¬
marks of their respective companies. IBM PC,
IBM XT, IBM AT, are trademarks of IBM Cor¬
poration. Leading Edge PC, Sperry PC, Wyae PC,
Compaq Deakpro, Zenith 150, Zenith 151,
Televideo PC, Corona PC, Eagle PC. AT&T
6300, Tandy 1000 and Tandy 1200 are trade¬
mark! of their respective companies.
Ad Number A05/86
CIRCLE NO. 145 ON READER SERVICE CARD
How to develop
elegant software
using Basic or " C
ff
by Cary Harwin
A widely shared dream is the fast, easy
creation of error-free code and documentation.
One of the secrets of top software designers
is increased productivity through the use of
powerful tools. Imagine the benefits of
joining this group. Here are some ways.
For Software Designers
Using BASIC:
BASIC Development Tools
Screen Builder + * easily creates
powerful application screens. Using your
favorite won! processor or the built-in full
screen editor you quickly paint your screen
image. Simply create and edit fields of any
length, anywhere on the screen, with both
full screen editing within each field and move¬
ment from field to field. Enhanced graphics
presentations are encouraged using all 255
ASCII characters. With available on-line
help you are quickly up and running. Then
error-free BASIC is automatically generated.
Now the code is ready to insert into your
application program without the use of
BLOAD or BSAVE. With no BIOS calls,
the code is tight and efficient The system is
complete with both a subroutine library and
multiple examples. For only $59 you
should be using it now.
"0^ B-Plus Tree - * - * is a powerful record
handling subsystem. Write programs
without worrying about sorting or handling
of index files. Fast (access a key field in a
file of 32,000 records in less than one
second). Direct and sequential accessing,
variable length keys, multiple non unique
keys and multiple keys per record. Get first,
^ Name: JohnD.Ro*e|
Title: GenerilMi
Company: GTL Internal on »1
Address: 117Stony Creek
City: Phi*
HELP
Put it anywhere, •
Call it anytime,
Display whatever
information you chooac
windowing functions when called from a
BASIC program. Implementing EZ lets you
create modem and fast menus, windows,
notepads, etc. The power and flexibility
found here rivals the windowing power of the
modem languages found in the industry today
and a must have at only $39.
Each of these stand alone but when used
together they are truly outstanding. Prove it
to yourself by trying all four.
A Pleasant Surprise - it is hard to
find good, affordable software; so I've done
something about it For a limited time you
can purchase all four BASIC Development
Tools for only $89. ($206 value)
+Runs under interpretive BASIC A or
Microsoft Basic. Compilable under IBM,
Microsoft, or QuickBASIC Compiler.
For Software Designers
Using "C" :
BlackStar™ "C" Function
next, last or prior key In sequence. Users are Library*
The new generation of "C" compilers demand
amazed at the source code's simple elegance
and are delighted in the value pricing of $59.
Help Message -1- * systems are a part
or every modem software application. Now
you can provide your users with the help
they expect. Interactive, context sensitive
help reduces the need for extensive manual
documentation while allowing your users to
become quickly operational. High perfor¬
mance is assured through the inclusion of a
fast assembler subroutine. Overhead to your
program is insignificant as your text informa¬
tion is turned into callable libraries. A
justifiable necessity at $49.
<► EZ Screen -1- * or Pop up Windows is
an assembler routine embedded in a basic
subroutine to perform screen handling and
a full featured, high performance function
library. With over 250 functions, BlackStar
is "the" new standard of "C" function
libraries. Created for internal development
and used extensively for the past two years,
BlackStar has only recently been released to
outside developers. Now there is no need for
you to re-invent the wheel. I believe that it
has everything (&more) on your wish-list of
functions.
Standard Functions:
Screen handling, strings, graphics, file I/O,
directory searches, peripheral control, and
extensive date/time
Supports device drivers
Utilities with source: document extract,
pretty printer, greplike
Powerful New Enhancements:
Menu manager and Text windows
Microsoft Mouse support
Encryption
Table driven printer control
Table driven keyboard functions for complete
keyboard control and customization
High Performance features:
Optimized (in assembler) for speed and
compactness
Interrupt redirection.
Complete
Compatible with Lattice and Microsoft
Compilers (Ver.3) - adaptable to others
Complete source code, demo programs and
comprehensive users manual
If you are using another function library it is
time to make this major upgrade.
Wow! - An outstanding value at our regular
price of $99 but a virtual steal at our limited
time special of only $79.
Amazing Offer - I promise your
programming productivity will be enhanced
if you use these tools. In addition, I am
going to make testing them in your home or
office so easy that it will be a shame if you
don’t take advantage of my offer. Simply
order by calling our toll-free hotline. After
you receive your tools, put them to work
developing those challenging projects. Try
them for 75 days. If you're not convinced
that they are a fantastic value, simply return
them and I'll refund your full purchase price.
But act now and join that select group of top
software designers.
ORDER HOTLINE
1-800/7-Castle
(in CA call: 213/306-3020)
Visa, MC, COD, and checks accepted.
Shipping included in U.S. and Canada. Others
please add $15. CA residents add 6% tax.
♦Requires PC or MS Dos.
Trademarks: BlackStar (Sterling Castle), MS-DOS
(Microsoft), IBM and PC-DOS (International Business
Machines), Lattice (Lattice, Inc)
STERLING
CASTLE
Helping You to Solve Problems
702 Washington Street Suite 174
Marina del Rey, CA 90292
P.S. Please remember that our products are
not copy protected and we charge no
royalties.
CIRCLE NO. 183 ON READER SERVICE CARD
PARAMETERS
NOT COPY
PROTECTED!
LISTING 1: ABSREAD.ASM
PAGE ,132
; -- absread -- absolute track and sector read
; Version 1.1 December 30, 1985
; Glenn F. Roberts
; calling convention:
; absread(drive, nsect, sector, Sbuffer);
; where:
; drive = drive no. (A=0, B=1 ... )
; nsect = number of sectors to read
; sector = beginning logical sector number
; buffer = array to hold data
; returns:
; 0 Normal return, no error
; 1 Write protect violation
; 2 Unknown unit
; 3 Drive not ready
; 4 Unknown command
; 5 CRC error
; 6 Bad drive request structure length
; 7 Seek error
; 8 Unknown media
; 9 Sector not found
; 10 Printer out of paper
; 11 Write fault
; 12 Read fault
; 13 General disk failure
_text SEGMENT
ASSUME
PUBLIC
BYTE PUBLIC
CS:_text
_absread
•CODE'
_absread PROC
NEAR
PUSH
BP
; set up stack addressing
MOV
BP,SP
PUSH
DI
PUSH
SI
MOV
AX,[BP+4]
; AX = drive number
MOV
CX,[BP+6]
; CX = number of sectors
MOV
DX, [BP+8]
; DX = starting record
MOV
BX, [BP+10]
; DS:BX = buffer address
INT
025H
; request absolute read
INC
SP
INC
SP
; fix the stack
JC
ERROR
; if error then return code
XOR
AX, AX
; else show normal return = 0
JMP
SHORT DONE
; and then exit
ERROR: MOV
AH,0
; error - zero high byte
INC
AL
; and increment error no.
DONE: POP
SI
; restore registers
POP
DI
POP
BP
RET
_absread ENDP
_text ENDS
END
; and return
LISTING 2: INFO.C
^include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <dos.h>
^include <malloc.h>
/* info -• This program displays useful information
** about a DOS disk. Output is in the form of
** a series of general information lines followed
** by a table showing disk space usage. Space
** usage is shown in sectors, bytes and clusters.
** The program should work with all disk formats
Sybil is an Advanced Diagnostics disk...
She can low format hard disks just like
Advanced Diagnostics (IBM, Compaq, etc.) and
she can do system and memory tests which
provide even more information than Advanced
Diagnostics does. $245.00 cheaper than IBM's
Advanced Diagnostics!
Sybil is a Disaster Recovery program...
She can recover hard disks that have been ac¬
cidentally formatted, completely! The hard disk
reappears in exactly the same condition prior
to the format. Truly amazing!
Sybil is a Graphics Editor...
She can draw on either RGB monitors (in color)
or IBM Monochrome monitors in high ASCII
characters. Perfect for creating Binary Image
Files. The Binary Image Files can be converted
to Assembly and then linked to other lan¬
guages, such as your favorite Pascal, C, or com¬
piled BASIC program. Includes source code.
Sybil is a File Wizard...
Sybil can backup files by date, by time, or by
size. She can find any file (or files) anywhere on
your hard or floppy disks, even if you haven't
the vaguest notion. She can edit file attributes
with the greatest of ease, unerase files, edit
sectors, and globally change time and date
stamps. Ail her file utilities understand paths
and wildcards.
Sybil is also a...
ram Disk, Print spooler, General Regular
Expression Parser and, Advanced File
Comparator.
m
Order Sybil Today!
call 800-922-3001, in Colorado,
303-444-1542
SOPHCO
PO Box 7430
Boulder, Colorado 80306
MAY 1986
CIRCLE NO. 176 ON READER SERVICE CARD
PARAMETERS
including "RAH" disks.
Usage: info Cd:l
Where d: is an optional drive specification.
If d: is omitted, the default drive will be
assured.
Compiler: Microsoft C V3.0
Options : /Zp (pack arrays)
/Ze (support "far" extension)
External modules:
absreadO
Version 1.53 February 6, 1986
Glenn F. Roberts
#define TRUE 1
#define ENTRYJ.ENGTH 32
#define HINVERSION 200 /* DOS 2.0 */
#define MAX_VERSION 310 /* DOS 3.1 */
#include "structs.h"
#include "dosfns.h"
main(argc, argv)
int argc;
char ‘argvtl;
C
int drive, ver;
struct disk_table far ‘get_table(), far *tbl;
struct boot *bpb;
static struct ext_fcb fcb = <
0xFF,0,0,0,0,0,VOL_ENTRY,0,
•?i
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
>;
ver = _osmaj‘or*100+_osminor;
if ((ver < MIN_VERSION) || (ver > HAX_VERSION))
printf("Incorrect DOS version Xd\n", ver);
else if (!((--argc > 0) ?
(parse(‘++argv, &fcb.drive_id, 1) != 255) : TRUE))
printf("Invalid drive specification\n");
else C
drive = (fcb.drive_id == 0) ? current_drv() : fcb.drive_id-1;
tbl = get_table(drive);
bpb = (struct boot *) malloc(tbl*>sector_size);
absread(drive, 1, 0, bpb);
print_vol(drive, tbl);
print_info(drive, bpb, tbl);
print_tbl(drive, bpb, tbl);
>
>
/* scan_fat -- Analyze FAT. Calculate the number
“ of clusters available, in use and
“ "locked out" by DOS.
*/
scan_fat(fat, is12, fatlast, avail, locked, used)
unsigned char *fat;
int is12;
unsigned fatlast, ‘avail, ‘locked, ‘used;
C
int i, cn;
‘avail = ‘locked = ‘used = 0;
for (i=2; i<=fatlast; i++) (
cn = fatval(is12, i, fat);
if (cn == LOCKED_OUT(is12)) (*locked)++;
else if (cn == AVAILABLE) (*avail)++;
else (*used)++;
>
>
/* print_vol -- Print volume name and creation time/
“ date if it exists, else print that
“ volume has no label.
*/
print_vol(drive, tbl)
int drive;
Cross Compile
68000 / 08 / 10/20
Features:
■ Full, Standard C
■ Easy to Use Compiler Options
■ Complete User Documentation
■ Global Code Optimization
■ Optional Register Allocation
Via Coloring
■ ROMable and Reentrant Code
■ Comprehensive Royalty Free
Run-time Library
■ Floating Point Library Routines
■ Intermix MCC68K C with
ASM68K Assembly Language or
Microtec PAS68K Pascal
■ Optional Assembly Language
Listing Intermixed with MCC68K
C Source Line Number
■ Symbolic Debug Capability
The Microtec MCC68K C Cross Compiler
is a complete implementation of the
‘C’ programming language as de¬
fined in The C Programming
Language by Kernighan and
Ritchie with extensions.
JCC68K emits highly optimized
isembly language code for
me Microtec ASM68K
Motorola compatible
assembler
The Microtec MCC68K
package includes the
compiler, relocatable
macro assembler,
linking loader,
run-time li¬
brary, and
compre¬
hensive
user's
guide.
3930 Freedom Circle, Suite 101, Santa Clara, CA 95054
Mailing Address: P.O. Box 60337, Sunnyvale, CA 94088
W//A MICROTEC ®
WM RESEARCH
Host computers include: DEC VAX, DG MV-
Series, Apollo, IBM PC and PC-compatibles..
We’re Functional and Fast and Serious
about our products. We’ve been providing
flexible and economical solutions for soft¬
ware developers since 1974.
Beginning with product concept, through
development, quality assurance, and post¬
sales support - Quality, Compatibility
and Service are the differences which set
Microtec Research apart from others.
If you’re a serious software developer, shop¬
ping for software development tools- call
write today for more information:
800-551-55b
In CA call (4081733-2919.
136
PC TECH JOURNAL
Powerful MS-DOS Software.
For the IBM®-PC, XT, AT & others with generic MS-DOS/PC-DOS 2.0 or higher.
UTAH
Only
COBOL
Each!
UTAH
FORTRAN
Whether student, teacher or professional programmer,
this is the one you’ve heard so much about.
□ It’s easy to use. Compiles 5000 statements on a 128K
machine.
□ 170 clear error messages, i.e. DATA-NAME IS
MISSING OR MISSPELLED.
□ Distribute your object code programs royalty free.
□ Small object code programs conserve disk space.
□ Fast compile times to increase programmer pro¬
ductivity. Over 25 times faster than one compiler
costing $995!
□ You get a diskette and 213-page manual with lots of
examples and 16 complete COBOL source code
programs. $39.95.
Also available: COBOL Application Packages, Book 1 $9.95.
UTAH
PASCAL
□ 14-digit precision, BCD math, no round-off errors
with decimal arithmetic for business and floating point + 63
-64 for scientific.
□ A very nice TRACE style debugging.
□ Arrays up to 8 dimensions and 64K strings.
□ External procedures and functions with dynamic
auto-loading.
□ One-step compile, no assembly or link required.
□ You get a 132-page manual and diskette. $39.95
UTAH
PILOT
□ Perfect for industrial training, office training, drill
and testing, virtually all programmed instruction, word
puzzle games, and data entry facilitated by prompts.
□ John Starkweather, Ph.D., the inventor of the PILOT
language, has added a built-in full-screen text editor,
and much more.
□ Meets all PILOT-73 standards for full compatibility with
older versions.
□ You get a diskette, 125-page manual and ten useful
sample programs. $39.95.
Also still available for 8-bit machines with CP/M® is our world famous
Nevada Software Series used by 50,000 customers in 40 countries.
These include Nevada COBOL, Nevada FORTRAN, Nevada PASCAL,
Nevada PILOT, Nevada BASIC and Nevada EDIT. $39.95 each.
Satisfaction guaranteed. If for any reason you’re not completely
satisfied, just return the package within 15 days in good condition, and
we’ll refund your money.
IBM is a registered trademark of International Business Machines Corp.
CP/M is a registered trademark of Digital Research. MS is a trademark
of Microsoft Corp. © 1985 Ellis Computing, Inc.
□ FORTRAN IV based upon ANSI-66 standards.
□ Very fast compile times and easy to use.
□ IF.. THEN.. ELSE constructs.
□ Chaining with blank and named common.
□ Copy statement.
□ ENCODE and DECODE.
□ Free-format input and output.
□ A very nice TRACE style debugging.
□ 150 English language error messages.
□ You get a diskette, and 223-page manual. $39.95
UTAH
EDIT
□ A character-oriented full-screen video display text
editor designed specifically to create COBOL,
FORTRAN and PASCAL programs.
□ Only requires 15K disk space so it can fit on the
same disk as your compilers.
□ Completely customizable tab stops, default file
type, keyboard control key layout and CRT by menu
selection.
□ Diskette comes with easy to read 58-page manual. $39.95.
UTAH
BASIC
□ This interpreter has a built-in full-screen editor.
□ Single- and Multi-line user definable functions.
□ BCD Math-no round-off errors.
□ Full Matrix operations.
□ You get 220-page manual and diskette. $39.95.
Handling/Shipping: No shipping charge within US. Overseas
add $10 for first package, $5 each additional. Checks must be
in US Dollars, drawn on a US bank.
Utah Software requires 128K RAM and PC-DOS or MS-DOS 2.0 or higher.
HOW TO ORDER. Send check or money order to Ellis Computing, Inc.
with VISA or MASTERCARD order by phone. Sorry no COD’s.
o
Ellis Computing, Inc.
5655 Riggins Court, Suite 10
Reno, Nevada 89502
Phone (702) 827-3030
SINCE 1977
ELLIS COMPUTING "
CIRCLE NO. 170 ON READER SERVICE CARD
PARAMETERS
struct disk table far * *tbl;
for (i=0, validboot = TRUE; (i<8) && (valid_boot); i++)
valid_boot = isprint(bpb->oem_name[i]);
struct extended entry dir entry;
if (valid_boot) {
static struct ext feb volfcb = C
ncyl = bpb->number_of sectors/
OxFF,0,0,0,0,0,VOL ENTRY,0,
(bpb->sectors_per_track*bpb->number_of_heads);
if ((bpb->nunber_of_sectors X
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
(bpb->sectors_per_track*bpb->number_of_heads)) != 0)
>;
ncyl++;
int i;
printfC* OEM name : ");
char ere date[15], cre_time[15];
for (i=0; i<8; i++)
putchar(bpb->oem_name[i]);
printfC*** Information for Disk %c:", (drive + 'A'));
printfC* ");
if (tbl-designator != drive)
>
printfC* (Assigned to drive Xc:)", (tbl-designator + 'A'));
printfC* Media descriptor (hex): X2x\n'*, tbl->media_type);
printfC* ***\n\n Volume ");
if (valid_boot) C
setdta(&dir entry);
printfC* Volume has %d Surfaces, '*, bpb->number_of_heads);
vol_fcb.drive_id = drive+1;
printfC'Xd Tracks with ", ncyl);
if (search_first(&vol_fcb) != 255) C
printfC'Xd Sectors/Track\n", bpb->sectors_per_track);
dtoa(dir_entry.body.create_date, cre_date);
>
ttoa(dir_entry.body.create_time, cre_time);
printfC' Sector size is Xu bytes.", tbl->sector_size);
for (i=0; f<11; i++)
printfC* FAT entries are Xd bits\n".
putchar(dir_entry.body.filname[i]);
(tbl->last_cluster < MAX_12BIT) ? 12 : 16);
printfC' created Xs Xs\n", cre_date, cretime);
printfC* Cluster size is Xu bytes ",
>
(tbl->cluster_size+1)*tbl->sector_size);
else
printf("(Xu sectors)\n\n", tbl->cluster_size+1);
printfC'has no label\n");
>
>
/* print_tbl -- Print table showing disk usage.
/* print_info -- Print general information.
*/
print_tbl(drive, bpb, tbl)
*/
int drive;
print_info(drive, bpb, tbl)
struct boot *bpb;
int drive;
struct disk_table far *tbl;
struct boot *bpb;
struct disk_table far *tbl;
int i, nhidden, valid_boot, twelve_bit_fat;
t
unsigned avail, locked, used, ntotal;
int i, valid_boot;
unsigned char *fat;
unsigned ncyl;
printf("Usage: ");
/* If OEM name is printable then boot data are OK */
printfC'Sectors Bytes Clusters\n");
The Ecosoft Eco-C88 compiler for the 8088 and MSDOS is going to set a new standard
for price and performance. Consider the evidence:
We’ve continually improved Microstat since it was introduced in 1978. and
the latest release includes many new features you've wanted.
Eco-C88
(1) Computer Language, Feb., 1985, pp.73-102. Reprinted by permission.
Eco-C88 Rel. 3.0 on IBM PC with 2 floppy disks, 256K. Benchmarks from Feb., 1985,
Computer Language.
Eco-C88 includes:
★ All operators and data types (except bit fields)
★ Prototyping, structure passing and assignment, enum and void language enhance¬
ments
★ Tiered error messages (gives you selectable levels of “lint” semantic checking)
★ memfiles (TM) for using memory outside the 128K limit as a file
★ Expanded library with over 200 functions (many of which are System V compatible)
plus color and transcendental
★ ASM or OBJ output: uses the MSDOS linker
★ 8087 support with 8087 sensed at runtime
★ cc and “mini-make” for easy compiles (with source code)
★ expanded user’s manual
If ordered with the compiler, the C library source code (excluding transcen-
dentals) is $10.00 and the ISAM file handler (as published in the C
Programmer’s Library, Que Corp) in OBJ format is an additional $15.00. Please
add $4.00 for shipping and handling. To order, call or write:
MK?N°CollegfAvenue 1-800-952-0472
Indianapolis. IN 46220 (orders only)
(317)255-6476 • 8:30-4:30
CIRCLE NO. 131 ON READER SERVICE CARD _ _ , ,
Trademarks: Eco-C88, Microstat (Ecosoftl, CP/M (Digital Research). MSDOS (Microsoft). PC-DOS (IBM). Z80 (Zilog). 8086. 8087. 8088 (Intel).
Interactive and Batch Processing
Expanded Data Management
Subsystem with New Data
Transforms
Reading data files created by other
programs (e.g.. Lotus)
3 types of Analysis of Variance
Time Series
Crosstabs and Chi-Square
Factorials. Permutations, and
Combinations
Hypothesis Tests
Data sets that can exceed memory
Multiple Regression (including
Stepwise)
Scatterplots (including best fit
regression)
Correlation Analysis
12 Nonparametric tests
8 Probability Distributions
Descriptive Statistics
Easy Installation
Microstat’s algorithms have been designed to prevent numeric overflow errors
and yield unsurpassed accuracy. Microstat’s price is $375.00 including the
user’s manual and is available for the Z80. 8086. 8088 CPU’s and CP/M80.
CP/M86, MS-DOS. and PC-DOS. To order, call or write.
fW* $SE».
< ea :
spf 7^6 s^ es
P°' f ' 6lt u
and a °‘
■
§&
Hfi
/ ,;:CI
■ft
H
felt
tm
V-. ;
■K
si
HH
iH
||||||
■ft
Wm
w&
\* tv
wp eset 1 Tofl'V t6l 7, v ‘”oS tv? e
«***^ £* van fV btt ^ n( . — ,
tfasss-is^si
a »»*»’“
tf' st,a i \ogos " hen
V, * aiaC fbe cte ated cbat actet -
ne ^o 6 ° s a f a " V Pf ul
vides atv
T^ e
{o\-
“sS'lrs-"' td “'
In
Ivlany
jVno
When we introduced JLASER, we knew it
was the ultimate solution to current laser printer
limitations. Like all good things, it's catching on
fast. The list of software companies that back
JLASER is expanding rapidly. We are pleased
to welcome this latest addition to our growing
software family of JLASER supporters.
JLASER is a controller that piggybacks
onto a JRAM-3 or AT-3 two megabyte
memory board giving laser printers the
speed and versatility they were meant
to have. It plugs directly into the printer
engine of the H-P Laserjet™ or other
Canon-based printers. Our interface
transfers bit-mapped images from RAM,
bypassing the on-board print buffer
and most of the control circuitry. It
opens up a creative new world of
graphics and multiple type font com¬
binations, and still gives you plenty of
RAM to use for programs, data, and
electronic disk.
^U« ands -
vntk
totfl*
iff!
M
Steq isr-vsr*
cpeci&V ot t\ofr a ^ . s ettv&6 eQ' jatl ° tV
the
SoUC
n t^k")
Cie at6 matt V0g
aess0 E Foot i° tmat
Fancy Use
Fancy ^ Mt o{ T tt6 d', «t° ° tn
W D asOtesopp 011
coto^e teqoVed-
It ' a ° -^^00 5310^
Aa '-* 00 f ^ on ’
JLASER is the powerful, eco¬
nomical, and efficient solution to
all your laser printer problems.
com-
CIRCLE NO. 194 ON READER SERVICE CARD
TALL TREE SYSTEMS
1120 San Antonio Road
Palo Alto, CA 94303
(415) 964-1980
PARAMETERS
for (i=0; i<61; i++)
putchar('=');
putchar('\n');
ntotal = tbl*>fat_start + tbl->fat_copies*tbl->fat_size +
(tbl->max_entries*ENTRY_LENGTH/tbl->sector_size) +
(tbl->last_cluster*1) * (tbl->cluster_size+1);
/* If OEM name is printable then boot data are OK */
for (i=0, valid_boot = TRUE; (i<8) && (valid_boot); i++)
valid_boot = isprint(bpb->oem_name[i]);
/* Print "hidden" information, if available */
if(validboot) {
nhidden = bpb->number_of_sectors - ntotal;
ntotal = bpb->number_of_sectors;
printf("Sectors Not Available | %7d | X12lu | |\n",
nhidden, (long) nhidden * (long) tbl->sector_size);
>
/* Print stat's on DOS boot, FAT, and root dir. */
printf("DOS Boot Area | %7d | %12lu | |\n",
tbl->fat_start, (long) tbl->fat_start *
(long) tbl->sector_size);
printf("File Allocation Table | %7d | %12lu | |\n",
(tbl->fat_copies)*(tbl->fat_size),
(long) (tbl->fat_copies)*(tbl->fat_size) *
(long) tbl->sector_size);
printf("Root Directory | %7d | X12lu | |\n",
(tbl->max_entries*ENTRY_LENGTH/tbl->sector_size),
(long) (tbl->max_entries*ENTRY_LENGTH));
/* Read and analyze the FAT */
fat = (unsigned char *) malloc(tbl->fat_size*tbl->sector_size);
absread(drive, tbl->fat_size, tbl->fat_start, fat);
twelve_bit_fat = (tbl->last_cluster < MAX12BIT);
scan_fat(fat, twelvebit_fat, tbl->last_cluster,
&avail, &locked, &used);
/* Print used, avail, locked out summary */
printf("Files & Subdirectories | %7lu j %12lu j %6d |\n",
(long) used * (long) (tbl*>cluster_size+1),
(long) used * (long) (tbl->cluster_size+1) *
(long) tbl->sector_size, used);
printf("Locked Out | X7u | %12lu | %6u |\n",
locked*(tbl->cluster_size+1),
(long) locked * (long) (tbl->cluster_size+1) *
(long) tbl->sector_size, locked);
printf("Available | X7lu | %12lu | X6u |\n",
(long) avail * (long) (tbl->cluster_size+1),
(long) avail * (long) (tbl->cluster_size+1) *
(long) tbl->sector_size, avail);
/* Print totals and percent disk used information */
for (i=0; i<61; i++)
putchar(*=');
putchar('\n');
printf("TOTAL | X7u ", ntotal);
printf(»| %12lu | X6u |\n\n", (long) ntotal *
(long) tbl->sector_size, (tbl->last_cluster)-1);
printfC The disk is Xlu%% full\n",
(used+locked)*100L/((tbl->last_cluster)-1));
LISTING 3: STRUCTS.H
** structs.h -• These are various data structures
** for use with Microsoft MS-DOS
** function calls.
** ====================== ========================
*/
I* msdate -- packed date format used in directory */
struct msdate (
unsigned d : 5;
unsigned m : 4;
unsigned y : 7;
);
/* ms_time -- packed time format used in directory */
FLC
[ <DIS !
L^SE[
^■INC.
FLOPPY
<DISK
SERVICES
39 Everett Dr., Bldg. D
Lawrenceville, N.J. 08648
I loppy Di.^k Sim vie ('s, ini. has been serving the
(omputer (ommunity for 6 years now. We
offer the best in products and service for the
professional and hobbyst alike. Organizations
like NASA, KC.A, AT&T and IBM who demand
quality are among our valued customers. Our
lei hs ( an i ustom assemble virtually any special
i ablingoreni losure set-up you may need. We
offer an ent losure line' that has sold thousands
over the years and our replacement warranty
polity puts us out front.. .We are among the
first to offer 8 inch double sided drive systems
that run on the IBM-PC/XT for interchangability
standards from mainframe to micro.
Mitsubishi 4851 DS/DD 48 tpi. $139.
Mitsubishi 4854 1.6mb AT drive. $185.
10 megabyte system. $495.
20 megabyte system. $595.
40 megabyte system. $995.
130 watt pc supplies. $ 95.
XT motherboards. Call
Western Digital controllers. $165.
Taxan 415 RGB monitors. $299.
Teac 55 F 80 track drives. Call
Taxan monitors (built for
ACORN) $299.
All our connectors and
adaptors are crimped on
AMP certified equipment!
AST, Quadram and Western
digital boards available!
We offer many more products than space
allows. Please call for FREE catalog or let one of
our expert staff help you make the rightchoice,
and the call is on us!
".. .(Floppy Disk Services) is one of the few mail orderhousesthatenthusiastically
does custom work; the technicians there can assemble virtually any desired
floppy or hard disk system to order. . ."
Jeff Duntemann
Technical Editor, PC Tech Journal
Toll Free Order Line: 1 (800) 223-0306
140
CIRCLE NO. 163 ON READER SERVICE CARD
PC TECH JOURNAL
BRADY Speaks
Your Language
We can help you buff up your BASIC... Put a finish on your FORTH...
Conquer C... Succeed with Assembler... And more! Just call toll-free
or use the coupon to order today!
1. The perfect intro to CP/M-86
even if you’ve never programmed
in assembly language before.
Includes sections on sequential
file handling and memory manip¬
ulation, and more. S21.95
2. Beyond the basics, this guide
explores new structured concepts
to analyze and solve problems in
C with tools of modularity, input
and output functions, arrays and
structures, and bit manipulation.
$21.95
3. The special focus is on screen
management and data retrieval.
You’ll find a library of reusable C
software tools to help create inter¬
active systems, including file
management, screen forms, etc.
$21.95
4. The best C articles from the
highly respected Dr. Dobb s
Journal dealing exclusively with
C language and programming
techniques. $24.95
5. The author of our best-selling
assembler books now demon¬
strates his detailed and accurate
style on the 80286 chip. $21.95
6. For the more advanced user
familiar with Assembly language,
here’s an opportunity to unleash
the power of 10 DOS-enhancing
programs. $21.95
7. Our best-selling assembler
book has been made even better!
It now includes 30 assembler
Macros and version 2.0 of the
IBM Assembler. $21.95
8. PC magazine calls it: “A truly
remarkable book... A treasure
trove of useful programming infor¬
mation on the IBM PC.’’ $22.95
Now at your book or computer store.
Or order toll-free today:
|~BRADY COMMUNICATIONS COMPANYJNc! Acc"t #
c/o Prentice Hall
| P.O. Box 512, W.Nyack, NY 10994
800 - 624-0023
In New Jersey:
800^624-0024^
_Exp. date.
-1
I Circle the numbers of the titles you want below.
1 (Payment must be enclosed; or, use your charge
| card.) Add $1.50 for postage and handling.
1 Enclosed is check for $_or charge to
| □ MasterCard □ VISA
Signature.
Name_
Address —
City.
State.
(New Jersey residents, please add applicable sales tax.)
Dept. 3
Zip.
GR-BLPT-BE(6)
I
1(0-89303-390-1) 2(0-89303-473-8) 3(0-89303-612-9) 4(0-89303-599-8)
5JO-89303-575-0)_6J0-89303-584-X) 7 (0-89303-484-3) 8 (0-89303-510-6)
///////////////////////////M
CIRCLE NO. 161 ON READER SERVICE CARD
Or DEC. Or DG, HP, or Wang. Or any other computer using
BLAST Data transfer Software.
Quite simply, BLAST solves one of the
most basic problems of information
management today: getting data from
one computer to another reliably. And it
does so faster, more efficiently, and less
expensively than any other method
available.
We’d be happy to send you the de¬
tails of how BLAST works. But what it
all boils down to is this: BLAST breaks
the incompatibility barrier between
180 different micros, minis and main¬
frames. Perhaps more importantly, it
does so across myriads of different oper¬
ating systems.
Link any number of computers.
Using BLAST, you can link any number
of computers over data switches, PBXs,
satellite links, LANs and packet net¬
works. BLAST can operate over hard¬
wired RS-232 links or through low-cost
asynchronous modems.
BLAST IS AVAILABLE FOR
180 MAJOR COMPUTERS,
INCLUDING THE FOLLOWING
MAINFRAMES
IBM VM/CMS & MVS/TSO; AMDAHL
MVS/TSO _
MINIS
DIGITAL EQUIPMENT VAX/VMS, PDP/
RSX, RT-11; WANG/VS; DATA GEN¬
ERAL AOS, AOS/VS, RDOS, DOS;
HARRIS VOS; AT&T 3B2.3B5,3B20,
NCR TOWER/UNIX; HEWLETT PACK¬
ARD 3000/MPE, 1000/RTE, 9000 UNIX;
PRIME PRIMOS _
MICROS
AT&T 6300 & UNIX PC; UNIX SYS 5,
BSD 4.2; APPLE DOS, MACINTOSH;
MS-DOS/PC-DOS, CP/M 80,86
IBM® is a trademark of International Business Machines
AT&T® is a trademark of American Telephone & Telegraph
Whatever system you use, your data
will transfer 100% error-free , even
through hazards like phone noise, de¬
lays and distortions.
No expensive add-on boards required.
BLAST software is specifically tailored
to the computer you’re using. So you
won’t have to purchase any additional
hardware or interfaces.
You can order BLAST—or get more
information—by calling us at the toll-
free number below. Or, you can write to
us at: Communications Research
Group, 8939 Jefferson Highway, Baton
Rouge, LA 70809. Telex 759985.
1 - 800 - 242-5278
CIRCLE NO. 245 ON READER SERVICE CARD
PARAMETERS
struct ms_time {
unsigned xx : 5
unsigned mm : 6
unsigned hh : 5
};
/* extended_header -- header used in constructing an
** extended file control block.
*/
struct extended_header {
char header;
char zeros[5];
char attrib;
/♦ ext_fcb -- extended file control block */
struct ext_fcb (
struct extended_header fcb_hdr;
char drive_id;
char file_name[8];
char file_extension[3];
unsigned curblok;
unsigned recsize;
long filesize;
struct ms_date date;
struct ms_time time;
char reserved[8];
char rec_in_blok;
long relrecord;
/* Macros & values used in interpreting FAT entries */
#define AVAILABLE 0x0000
#define MAXJ2BIT OxOFF6
#define L0CKED_0UT(IS12) (IS12 ? OxOFF7 : 0xFFF7)
^define LAST_CLUSTER(IS12) (IS12 ? OxFFF : OxFFFF)
/♦ Bits used in attribute field of directory entry */
#def ine READONLY 0x01
#define HIDDEN 0x02
#define SYSTEM 0x04
#define VOL_ENTRY 0x08
#define DIRECTORY 0x10
#define ARCHIVE 0x20
/* entry -- directory entry structure */
struct entry i
char drive_no;
char fiInameCII];
char attributes;
char unused[1 Ob¬
struct ms_time create_time;
struct ms_date create_date;
unsigned first_cluster;
long filsize;
/* extended_entry -- directory structure for use with
** extended file search
*/
struct extended_entry {
struct extended_header dir_hdr;
struct entry body;
>;
/* boot - layout of beginning of DOS boot record */
struct boot <
unsigned char jump[3];
unsigned char oem_name[8]; /* OEM */
unsigned bytes_per_sector; /* BPS */
unsigned char sectors_per_au; /* SPC */
unsigned reserved_sectors;
/* RS */
unsigned char number_of_fats;
/* CF ♦/
unsigned number_of_entries;
/* D */
unsigned number_of_sectors;
/* TS V
unsigned char media_descriptor;
/* MD ♦/
unsigned fat_size;
/* SPF ♦/
unsigned sectors_per_track;
/♦ SPT */
unsigned number_of_heads;
/* NH ♦/
unsigned hidden_sectors;
/* HS ♦/
>;
/* ddheader -- layout of DOS device driver header */
struct dd_header {
struct dd_header far *link; /♦ chain to next header */
int attributes; /* device attributes */
int strategy; /* strategy routine addr */
int interrupt; /* interrupt routine addr */
char name[83; /* device name field */
/* disk_table -- layout of table returned by fn 32 ♦/
struct disk_table {
char designator; /♦ PD */
char altdesignator; /* As above; 0 if RAMdisk */
unsigned sector_size; /* BPS */
char clustersize; /* SPC - 1 */
char heads; /* NH - 1 */
unsigned fat_start; /* RS */
char fatcopies; /* CF */
unsigned max_entries; /* D */
unsigned first_sector; /* FUS */
unsigned last_cluster; /* TCC + 1 */
unsigned char fatsize; /* SPF */
unsigned dir_start; /* FDS */
struct dd_header far *ddh; /* DDA */
unsigned media_type; /* MD */
struct disk_table far *nxt; /* chain to next disktable */
unsigned subdir_cluster; /* CWD cluster (DOS 2 only) */
char subdirectory[64]; /* CWD (DOS 2 only) */
};
LISTING 4: DOSFNS.H
/* ================================================
** dosfns.h -- Miscellaneous routine to call MS-DOS
** system functions or perform system
** specific tasks.
** ====================================_=_ _
*/
/* getdfs -- Get Disk Free Space. Returns
** information on disk capacity
** and available space.
** Input:
** drive = target drive (A=0, 8=1, ...)
**
** Output:
** avail = number of available clusters
** total = total clusters on disk
** sectsize = bytes/sector for disk
** Returns:
** Number of sectors per cluster
** -1 if drive has invalid sectors/cluster
*/
getdfs(drive, avail, total, sectsize)
int drive;
unsigned *avail, *total, *sectsize;
(
union REGS regs;
regs.x.dx = drive+1;
regs.x.ax = 0x3600;
intdos(®s, ®s);
♦avail = regs.x.bx;
♦total = regs.x.dx;
♦sectsize = regs.x.cx;
return(regs.x.ax);
>
/*■ parse -- Parse filename into FCB. This
** function takes a command line and
** parses it for a file name of the form
♦♦ d:filename.ext.
Bits in mode control parsing:
**
*/
bit 0=1 : ignore leading separators
bit 1=1 : change drive id only if one given
bit 2=1 : change filename only if one given
bit 3=1 : change extension only if one given
returns -1 if drive invalid.
parse(filename, fcb, mode)
char fi lename[];
struct ext_fcb *fcb;
int mode;
MAY 1986
143
PARAMETERS
union REGS regs;
union SREGS segregs;
regs.x.si = (unsigned) filename;
segread(&segregs);
segregs.es = segregs.ds;
regs.x.di = (unsigned) fcb;
regs.h.al = (unsigned char) mode;
regs.h.ah = 0x29;
intdosx(®s, ®s, &segregs);
return((int) regs.h.al);
>
/* setdta -- Set Disk Transfer Address.
** Sets the DOS disk transfer address
** to be the address of buffer.
*/
setdta(buffer)
char buffer □;
C
union REGS regs;
regs.x.ax = OxlAOO;
regs.x.dx = (unsigned) buffer;
intdos(®s, Sregs);
* searchfirst ** Search for First Directory Entry.
* On entry fcb contains an extended
* File Control Block with file name
* and attribute bits set. On exit
* fcb contains matched entry unless
* return code is 255, in which case
* no match was found.
search_first(fcb)
struct ext_fcb *fcb;
<
union REGS regs;
regs.x.ax = 0x1100;
regs.x.dx = (unsigned) fcb;
intdos(®s, ®s);
return((int) regs.h.al);
>
/* search_next *■ Search for Next Directory Entry.
** Same as search_first except for
** use on subsequent calls.
*/
searchnext(fcb)
struct ext_fcb *fcb;
(
union REGS regs;
regs.x.ax = 0x1200;
regs.x.dx = (unsigned) fcb;
intdos(®s, ®s);
return((int) regs.h.al);
>
/* currentdrv -- This function returns the drive number
** of the current default drive (A=0,
** B=1, C=2, etc.).
*/
current_drv()
C
union REGS regs;
regs.x.ax = 0x1900;
intdos(®s, ®s);
return((int) regs.h.al);
>
/* select_drv ** This function changes the current default
** drive to the specified drive (A=0,
** B=1, C=2, etc.). Returns total number of
** drives.
*/
select_drv(drv)
int drv;
i
union REGS regs;
regs.x.ax = OxOEOO;
regs.x.dx = (unsigned) drv;
intdos(®s, ®s);
return((int) regs.h.al);
>
/* gettable -- This function returns a "far" pointer to
** the parameters table for the specified
** disk drive (A=0, B=1, etc.).
*/
struct disktable far *get_table(drv)
int drv;
C
struct disk_table far *t;
union REGS regs;
union SREGS segregs;
regs.x.ax = 0x3200;
regs.x.dx = drv+1;
segread(Ssegregs);
intdosx(®s, ®s, &segregs);
FP_SEG(t) = segregs.ds;
FP_OFF(t) = regs.x.bx;
return(t);
}
/* dtoa -- Takes date in Microsoft packed
** format and converts it to an ASCII
** string as : "Mmm, dd, yr n
*/
dtoa(date, s)
struct ms_date date;
char s [];
(
static char *mo_str(] = <
"Jan'', "Feb", "Mar", "Apr",
"Jul", "Aug", "Sep", "Oct",
};
");
"May", "Jun",
"Nov", "Dec"
strcpy(s, "
if (date.m != 0)
sprintf(s, "%s %2d, %4d",
mo_str[date.m-1], date.d, date.y+1980);
/* ttoa -- Takes time in Microsoft packed
** format and converts it to an ASCII
** string as : "HH:MMx", where x is
** 'a' for A.M. and 'p' for P.M.
*/
ttoa(time, s)
struct ms_time time;
char s[];
C
int hr;
char am_pm;
hr = time.hh;
strcpy(s, " ");
if ((hr != 0) || (time.mm != 0) || (time.xx != 0)) t
am pm = (hr >= 12) ? *p* : *a';
hr X* 12;
if (hr == 0)
hr += 12;
sprintf(s, " %2d:%02d%c", hr, time.mm, am_pm);
>
-- This function calculates the logical
"chaining" of cluster numbers in a File
Allocation Table. Given an entry
cluster number it calculates the next
cluster using the array fat[].
If isi2 is TRUE then fat[] is assumed to
contain 12 bit entries, otherwise fat[)
is assumed to contain 16 bit entries.
fatval(is12, cluster, fat)
int is12;
unsigned cluster;
unsigned char fatC);
(
unsigned clword, cloffset;
if (isi2) C
144
PC TECH JOURNAL
Jt evniru With Turbo ASYNCH, you can be in constant
MO I ilvll touch with the world without ever leaving
the console. Rapid transit at its best. Turbo ASYNCH is designed
to let you incorporate asynchronous communication capabilities
into your Turbo Pascal application programs, and it will drive any
asynchronous device via the RS232 ports, like printers, plotters,
modems or even other computers. Turbo ASYNCH is fast, accurate
and lives up to its specs. Features include...
♦ Initialization of the COM ports allowing you to set all transmis¬
sion options. ♦ Interrupt processing. ♦ Data transfer between cir¬
cular queues and communications ports. ♦ Simultaneous buffered
input and output to both COM ports. ♦ Transmission speeds up
to 9600 Baud. ♦ Input and output queues as large as you wish.
♦ XON/XOFF protocol.
The underlying functions of Turbo ASYNCH are carefully crafted
in assembler for efficiency, and drive the UART and programmable
interrupt controller chips directly. These functions, installed as a
runtime resident system, require just 3.2K bytes. The interface to
the assembler routines is written in Turbo Pascal.
Turbo POWER TOOLS is a PQMffft TfifiB C
sleek new series of procedures tUffVKmit I UUl LO
designed specifically to complement Turbo Pascal on IBM and com¬
patible computers. Every component in Turbo POWER TOOLS is
precision engineered to give you fluid and responsive handling, with
all the options you need packed into its clean lines. High perform¬
ance and full instrumentation, including...
♦ Extensive string handling to complement the powerful Turbo
Pascal functions. ♦ Screen support and window management,
giv/ing you fast direct access to the screen without using BIOS calls.
♦ Access to BIOS and DOS services, including DOS 3.0 and the
IBM AT. ♦ Full program control by allowing you to execute any
other program from within your Turbo Pascal application. ♦ Inter¬
rupt service routines written entirely in Turbo Pascal. Assembly
code is not required even to service hardware interrupts like the
keyboard or clock.
Using Turbo POWER TOOLS, you can now “filter" the keyboard
or even DOS, and create your own __. ——
“sidekickable" applications.
Bes«E^lVf WertS
Phone—
The Turbo Pascal PERFORMANCE PACKAGE ™ is for the serious
Turbo Pascal programmer who wants quality tools to develop appli¬
cations. Every system comes with a comprehensive User Reference
Manual, all source code and useful sample programs. They require
an IBM PC or compatible, utilizing MS-DOS version 2.0 or later.
There are no royalties for incorporating PERFORMANCE PACKAGE
functions into your applications.
Turbo POWER TOOLS and Turbo ASYNCH sell for $99.95 each,
and they may be ordered directly from Blaise
Computing, Inc. TO ORDER, call
(415) 540-5441
send tnew
irboASVNC
/„ sates'ax.
Name—
Shipps
cwr-—
l VtSAor
Turbo Pascal is a trademark of Borland
International. Turbo POWER TOOLS. Turbo
ASYNCH and PERFORMANCE PACKAGE aw
trademarks ol Blaise Computing Inc. IBM is a registered
trademark ol Internationl Business Machines Coiporation.
MS-DOS is a trademark of Microsoft Cmoratiort.
BLAISE COMPUTING INC
CIRCLE NO. 114 ON READER SERVICE CARD
PARAMETERS
/* 12 bit FAT lookup */
cloffset = 3*cluster/2;
clword = fat[cloffset] + (fat[cloffset + 1 ] « 8 );
int argc;
char *argv[];
(
if (cluster & 1 )
int ver;
return (clword » 4); /* odd cluster */
static struct ext_fcb fcb = t
else
OxFF,0,0,0,0,0,0,0,
return (clword & OxOFFF); /* even cluster */
}
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
else
>;
/* 16 bit FAT lookup */
static struct extfcb alt_fcb = {
return (((unsigned int *) fat)[cluster]);
OxFF,0,0,0,0,0,0,0,
>
191 191 191 191 191
LISTING 5: SHOW.C
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
};
#include <stdio.h>
ver = _osmajor* 100 +_osminor;
#include <stdlib.h>
if ((ver < MIN_VERSION) || (ver > MAX_VERSION))
#include <ctype.h>
printf("Incorrect DOS version Xd\n", ver);
#include <dos.h>
else if (!((--argc > 0 ) ?
#include <malloc.h>
(parse(*++argv, &fcb.drive_id, 12) != 255) : TRUE))
#include <direct.h>
printf("Invalid drive specification\n");
#include <string.h>
else if (!((--argc > 0 ) ?
/* show -- This program prints an enhanced directory
(parse(*++argv, &alt_fcb.drive_id, 1) != 255) : TRUE))
printf("Invalid alternate drive\n");
** listing for a disk. The output resembles that
else C
** from the DOS DIR command, but includes the
fcb.fcbhdr.attrib =
** following additional information for each file:
HIDDEN | ARCHIVE | SYSTEM | READONLY;
**
do_entry(&fcb, alt_fcb.drive_id* 1 );
** 1) The flag settings for the file, 'a' if the
>
** "archive" bit is set, 'h' if the "hidden"
>
** bit is set, 's' if the "system" bit is
** set and 'r* if the "read only" bit is set.
/* print_vname -- print volume name and
**
** current working directory.
** 2) The actual amount of space allocated for
*/
** storage of the file, reflecting the number
print_vname(drive)
** of clusters allocated to the file.
int drive;
**
** 3) The cluster chaining for the file. Cluster
struct extended_entry dir_entry;
** numbers are shown in hex. Gaps are shown
static struct ext_fcb vol_fcb = {
** by starting a new line.
OxFF,0,0,0,0,0,V0L_ENTRY,0,
**
171 171 191 171 191 1 ? • » ? 1 1 ? 1 <71 i?i #
** Also displayed are totals for bytes in files,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
** total bytes allocated to files, number of files.
};
** (broken down as contiguous and noncontiguous),
int i, drive_save;
** number of clusters used, and bytes of free
char current_dir[MAX_CWD_LEN+1];
** space remaining.
printf("\tVolume in Drive %c is ", (drive + 'A'));
**
** Usage: show [d:filename.ext [a:]]
setdta(&dir_entry);
**
vol_fcb.drive_id = drive+ 1 ;
** If the drive specification d: is omitted, the
if (search_first(&vol_fcb) != 255) {
** current default drive is assumed. If the
for (i=0; i< 11 ; i++)
** filename or extension are omitted, is
putchar(dir_entry.body.filname[i]);
** assumed.
★ *
putchar( '\n' );
)
** If the alternate drive specification a: is given
else
** the program will compute the amount of space
print f("Unlabeled\n");
** the specified files would require on this
printf("\tDirectory of ");
** alternate drive along with the actual amount of
drivesave = current_drv();
** space currently available on that drive.
select_drv(drive);
**
getcwd(current_dir, MAX_CWD_LEN);
** Compiler: Microsoft C V3.0
printf("%s\n\n", current_dir);
** Options : /Zp (pack arrays)
selectdrv(drivesave);
** /Ze (support "far" extension)
>
**
** External modules:
/* print_flags -* print ASCII indication of file
** absreadO
** flag settings.
★ ★
V
** Version 1.35 February 6 , 1986
print_flags(attrib)
**
char attrib;
** Glenn F. Roberts
C
*/
char str[7];
^define TRUE 1
#define FALSE 0
strcpy(str, " ");
#define MINVERSION 200 /* DOS 2.0 V
if (attrib & ARCHIVE) str[2] = *a';
#define MAX_VERSION 310 /* DOS 3.1 */
if (attrib & HIDDEN) str[3] = *h«;
#define MAX_CWD_LEN 63
if (attrib & READONLY) str[4] = • r' ;
#include "structs.h"
if (attrib & SYSTEM) str[5] = 's';
printf("%s", str);
#include "dosfns.h"
>
main(argc, argv)
/* do_entry -* print output for file specification
146
PC TECH JOURNAL
©Toni McCarthy
Suggested retail price $149.90
Educational site licenses available from
Addison-Wesley Publishing.
True BASIC Language System is a trademarkotTrue Basic, Inc.
Macintosh is a trademark of Apple Computer Corp.
Amiga is a trademark of Commodore Business Machines.
IBMisarrademarkoflntemational Business Machines Corp.
You know John Kemeny and Tom Kurtz. They
developed die original BASIC. Now the/re
back with an even better version: a flexible,
easy-to-use structured programming language
diey call True BASIC.™
True BASIC oilers a frill selection of control
structures. External procedures can be
compiled into libraries, making True BASIC
faster and more powerful dian anyodier
programming language.
True BASIC has a complete matrix algebra
package and die best graphics ever in a higher
level language. And there are optional libraries
for diings like sorting and searching and 3-D
graphics.
Taie BASIC programs run on an)' computer
which runs True BASIC, good news for users
widi more dian one kind of PC.
You’ll love True BASIC. Whether you’re
programming for your own applications,
teaching odiers, or developing products to go
to market, send in die coupon below to receive
a free demo disk.
Available for die IBM-PC™ and compatibles,
Apple Macintosh,™ and Commodore Amigti
To order, talk to your local
dealer or call (603)
643-3882 TODAY!
iftsic
It
39 South Main Street,
Hanover,NH 03755 (603)643-3882
My computer is: □ IBM-PC/compatible
□ Apple Macintosh
□ Commodore Amiga
□ I’D LIKE TO GET MY FREE DEMO DISK.
□ I’d like more information on the True BASIC
language products.
□ Pm ready to buy. Call me and tell me how.
□ I’d like information on True BASIC
Mathematics Series and other products.
Name_
Title.
Company/University.
Address_
City, State, ZIP_
Telephone_
CIRCLE NO. 191 ON READER SERVICE CARD
PARAMETERS
** as parsed in fcb.
*/
do_entry(fcb, altdrive)
struct extfcb *fcb;
int alt_drive;
C
unsigned cluster, avail, total, sectsize;
int i, drive, num_files, num_contig, total_clusters;
int twelve_bit_fat, cluster_count, alt_clsize, alt_total;
long size_total, actualtotal;
struct extended_entry direntry;
struct disktable far *get_table(), far *tbl, far *alt_tbl;
unsigned char *fat, cre_date[15], cre_time[15];
/* Get target drive information */
drive = (fcb->drive_id == 0) ? current_drv() : fcb->drive_id-1;
printvname(drive);
tbl = gettable(drive);
tuelve_bit_fat = tbl->last_cluster < MAX_12BIT;
/* If alternate drive given, look up drive info. */
if (altdrive != -1) <
alt_tbl = get_table(alt_drive);
alt_clsize = alt_tbl->sector_size * (alt_tbl->cluster_size+1);
>
/* Read File Allocation Table */
fat = (unsigned char *) malloc(tbl->fat_size*tbl->sector_size);
absread(drive, tbl*>fat_size, tbl->fat_start, fat);
/* Search for first match of file specification */
setdta(&dir_entry);
if (search_first(fcb) == 255) <
printf("No files match '%c:", 'A'+drive);
for (i=0; i<11; i++) t
if (fcb->file_name[i] != ' ')
putchar(fcb->file nameti]);
if (i == 7)
putchar(». 1 );
> ___
printf ( ,M \n");
>
else {
/* Initialize and print headers */
num_files = num_contig = total_clusters = alt_total = 0;
sizetotal = 0L;
printf("Filename Ext Bytes Actual ");
printf(“Last Modified Flag Clusters\n“);
/* Loop over matched files */
do {
/* Print file name and extension */
for (i=0; i<11; i++) {
putchar(dir_entry.body.fiInameCi]);
if (i == 7)
putcharC ');
>
/* Print size from directory and actual size */
printf("%9ld“, dir_entry.body.fiIsize);
size_total += dir_entry.body.fiIsize;
if (alt_drive != -1) C
alttotal += dir_entry.body.fiIsize/altclsize;
if (dir_entry.body.filsize % alt_clsize != 0)
++alt_total;
>
if (dir_entry.body.first_cluster != 0)
for (cluster_count=0,
cluster=dir_entry.body.first_cluster;
cluster!=LAST_CLUSTER(twelve_bit_fat);
cluster = fatval(twelve_bit_fat, cluster, fat))
cluster_count++;
else
cluster_count = 0;
total_clusters += cluster_count;
printf(“%9ld ", (long) clustercount *
(long) (tbl->cluster_size+1) * (long) tbl->sector_size);
AN ALMOST FOOLPROOF
WAY TO MAKE
ARCHIVAL BACKUPS OF
PROTECTED SOFTWARE!
The Copy II PC Option Board is an add¬
in board that will give your PC the same
disk duplication technology used by
most disk duplication firms (who put the
copy protection on software in the first
place).
DUPLICATES NEARLY
ALL PROTECTED
DISKETTES.
The Option Board can easily backup
almost all protected diskettes for the
IBM PC (except those “protected” by
physical disk damage), including ones
software-only backup programs can’t
touch. It even includes a track editor
that will allow the more technically
inclined to look at protection schemes
and edit any data on a diskette.
The Option Board uses a full size slot in
an IBM PC, XT or AT (with at least 1
360KB floppy disk drive), Zenith 150,
Compaq Deskpro. Extra $15 cable
required for Compaq Portable, HP Vectra
and Tandy 1000. Tandy 1000 requires
256K of memory.
Call 503/244-5782, M-F, 8-5:30 (West
Coast time) with your jflft in hand.
Or send a check for
$95.00 U.S. plus $3 s/h, $15 overseas.
Please specify your computer brand
when ordering so we can send you
the correct cable.
$95.00
Central Point Software, Inc.
9700 S.W. Capitol Hwy., #100
Portland, OR 97219
CentmlRmU
Software
JIMCMPORATED
Backup utilities also available for the Macintosh, Apple li and Commodore 64/128.
CIRCLE NO. 121 ON READER SERVICE CARD
ORGANIZE YOUR COPES OF
PC TECH JOURNAL
Make your magazine collection a handsome addition to
your decor. These durable library-quality cases and
binders will protect and organize your collection, make
individual issues easy-to-find. They’re made of luxury-
look leatherette over high-quality binder board. And both
publisher,
dates and volumes.
MAGAZINE BINDERS OPEN BACK CASES
J your _
individual snap-on
rods, combinmo them
into one volume.
$7.95 each: 3 for
$22.50; 6 for $42.95
Mixed titles OK tor
quantity prices.
store your issues for individual
reference. $6.95 each; 3 for
$19.75:6 for $37.50. Mixed titles
OK for quantity prices._
For Fast Service Call 1-212-503-5319
TE£H P.O. Box 5120 Philadelphia. I
JOURNAL Please send: Quantity
_ Cases
_ Binders
PAYMENT ENCLOSED $_
_*Add $1.00 per
order for postage and handling. Outside USA add $2.50
per unit ordered. Send US funds only.
CHARGE MY: ($10 minimum)
□ American Express □ Visa □ MasterCard
Card No. _
_Exp. Date _
Mr./Mrs./Ms_
print full name
Address-
City/State/Zip-
148
* Residents of PA add 6% sales tax.
PC TECH JOURNAL
NEW $89.95 PRICE!
30-DAY MONEY-BACK GUARANTEE
Now Everest’s EditCheck
brings you a PC environment platform
for C source program development
EditCheck is a new kind of programmer’s tool that provides
an integrated C Language source code programming plat¬
form. It improves your productivity, and reduces your frustra¬
tion caused by making multiple cycles between a program
editor and a compiler to manually locate and eliminate syntax,
semantic, and other errors in your programs.
You can think of EditCheck as a powerful editing and
program checking facility that works as a front-end compan¬
ion to your C compiler.
EditCheck consists of a window-oriented full screen edi¬
tor, an extensive C language program checker, a file access
facility, and a context sensitive on-line help facility, all united
in a consistent, integrated environment platform that exten¬
sively uses a fast windowing system.
All EditCheck commands can be executed through sin¬
gle-keystrokes, or thru a fast pop-up menu system, or by a
combination of keystrokes and menu choices. All keystroke
commands can be user reassigned to any keyboard key.
Intra & Inter-module Checking While
Editing
The heart of EditCheck’s contribution is a powerful C
language program checker which provides strong type check¬
ing from within the editing environment. The checker does a
thorough evaluation of your source code and detects common
errors and questionable practices, including many that most C
compilers will overlook.
The checker detects unused functions, and unused
function arguments. At your option, unused external variables
are also reported.
It also looks for functions called with a varying number
of arguments.
In addition to the standard type checking performed by
most compilers, EditCheck also looks for function arguments
that do not agree in type with the arguments expected by the
function. It looks for enumerated variables that are assigned
values of a type other than that of the variable or that are
used in operations not valid for enumerated types.
EditCheck complains about illegal type casts. At your
option, it reports the assignment of longs to ints, of longs to
chars, and of ints to chars.
The checker always reports when pointers refer to ob¬
jects of different type.
If you set the environment option on, it checks for multi¬
ple definitions when all external symbol names are truncated
to six characters. The EditCheck checker looks for names that
would conflict if your Linker has a specific limit on the number
of characters checked.
EditCheck’s check facility tests for consistency of the ex¬
ternal and global declarations of variables, functions and
function arguments across multiple program modules. It also
tests for consistency of the number of arguments between a
function declaration and calls to the function.
At your option, the checker will also test for redefinition
of an already defined symbol.
The checker runs interactively on part or all of a source
program file, or group of program files. It opens a context
window on the file where the error was detected and high-
EVEREST SOLUTIONS, INC.
3350 SCOTT BLVD, BLDG 58
SANTA CLARA CA 95051
408-986-8977
CIRCLE NO. 133 ON READER SERVICE CARD
lights the token which was being parsed when the error was
detected. It also opens a message window with a descriptive
error message, and presents a menu of options which you
can take to correct the error.
These checker menu options on errors include: Show
What’s Legal, Delete, Modify, Edit, Backward Expand, Contin¬
ue, Abort, and Forward Expand.
The checker allows you to provide a program module
list for complete checking or checking of unchecked modules.
You can also check the modules in this list in batch mode if
you desire.
The interactive intra-module and inter-module checking
capabilities in EditCheck will save you many time consuming
and aggravating trips between an editor and compiler.
Window-oriented Fuli Screen Editor
EditCheck’s editor allows you to edit text in the current
window and to copy or move text from another window to the
current window. The editor supports both horizontal and verti¬
cal scrolling, and allows you to create marks and zones, move
the cursor to specified objects, search and replace (case sen¬
sitive or insensitive), change case of the text, control input
mode, etc.
The editor uses a file paging scheme which allows you
to edit and check modules larger than your available RAM
memory. Any ASCII file may be read by the editor. Files may
be inserted or appended to the current window file.
The editor is both key-command driven and menu driv¬
en, or mixed usage. Key-commands are fully user reassign-
able.
Windows, Files, and More
The EditCheck environment is window-oriented. You may
have as many windows open at the same time as you wish.
Windows may overlap or be tilted, at your option. You may
switch back and forth between windows, and move or copy
information between them.
The windows which you open may display different files
or multiple different areas of the same file. You control the lo¬
cation and size of all user windows, and can save the con¬
tents of a window, hide it, bury it, close it, or show it.
Windows are also extensively used by the EditCheck
system to build commands, display help, show a module list,
display messages, show program context while checking, etc.
A group of environment commands are available to
change the coloring of windows (with a color graphics adapt¬
er and display), set the way you are notified of errors, and
redefine the meaning of keys on the keyboard.
Context Sensitive Help
Help is available to you in several ways. You may use a
function key to get context sensitive help particular to where
you are in the system. You may select the help index, and
choose a topic of interest. You may also ask the help subsys¬
tem to search for a particular word of interest within the entire
system. Display of current keybindings is also available.
No Risk Offer
EditCheck has been available from Everest for a few
months under the name H.E.L.P. (Help, Editing, Lint, Produc¬
tivity) at an introductory price of $295. We’ve changed the
name and we’ve changed the deal.
EditCheck is now available at the "Borland-like” price of
$89.95, shipping included to USA locations. We offer a uncon¬
ditional 30 day money-back guarantee. EditCheck is not copy
protected. Product upgrades will be available to registered
users for one year for $10.00 each.
Let us take the risk, and you enjoy the productive bene¬
fits of this new class of product. Order today by mail or by
phone.
PARAMETERS
/* Print creation date, time and flag settings */
dtoa(dir_entry.body.create_date, cre_date);
ttoa(dir_entry.body.create_time, cretime);
printf("%s %s", credate, cre_time);
print_flags < dirent ry.body.attributes);
/* Print cluster chaining information */
num_files++;
if(do_chain(dir_entry.body.first_cluster, fat, twelve_bit_fat))
num_contig++;
> while (searchnext(fcb) != 255);
/* Print totals and summary information */
print f("================= ===== =============\n");
printf("TOTALS ");
printf("%9ld", size_total);
printf("%9ld\n", (long) total_clusters *
(long) (tbl->cluster_size+1) * (long) tbl->sector_size);
printf("\n\t%d Files, %d Contiguous, ",
num_files, num_contig);
printf("%d Noncontiguous\n", (num_files*num_contig));
printf("\tFiles use %d clusters SI Xd bytes/cluster\n",
total_clusters, (tbl->cluster_size+1) * tbl->sector_size);
getdfs(drive, Savail, Stotal, Ssectsize);
printf("\t%lu bytes free\n", (long) avail *
(long) (tbl->cluster_size+1) * (long) sectsize);
/* Show space needed on alt. drive (if requested) */
if (alt_drive !=*-1) C
printf("\n\tFiles would require %lu bytes ",
(long) alt_total * (long) alt_clsize);
printf("on drive %c\n", alt_drive + ’A');
getdfs(alt_drive, Savail, &total, Ssectsize);
printf("\t%lu bytes free on drive Xc\n",
(long) avail * (long) alt_clsize, altdrive + 'A');
>
>
>
/* do_chain *• print chaining of clusters in FAT
** (Handles both 12 bit and 16 bit
** FAT entries.)
*/
do_chain(start, fat, isi2)
unsigned start;
unsigned char Mat;
int isi2;
C
unsigned old_cluster, new_cluster;
int i, extentsize, is_contiguous;
is_contiguous = TRUE;
if (start >= 2) C
old_cluster = start;
extent_size = 1;
printf((is12 ? " [%03x]":" [%04x]"), old_cluster);
do i
if (extentsize == 0) {
is_contiguous = FALSE;
for (i=0; i<60; i++)
putcharC ');
printf((is12 ? " [%03x]":"[%04x]"), old_cluster);
extent_size++;
>
newcluster = fatval(is12, old_cluster, fat);
if (new_cluster != (old_cluster + 1)) C
if (extentsize >1)
printf((is12 ? [%03x]":"*[%04x]"), oldcluster);
extent_size = 0;
putchar('\n');
)
else
extent_size++;
old_cluster = new_cluster;
> while (old_cluster != LAST_CLUSTER(is12));
>
else
putchar('\n');
return(is_contiguous);
THE BEST PC TEXT EDITOR JUST GOT BETTER.
ANNOUNCING SPF/PC™ 1.82
The best full screen editor for the IBM PC now extends support for large files to all PC’s, not just
the IBM/AT. Invoke your favorite program/compiler from within Edit at any time regardless of file
size. CTC’s SPF/PC tm 1.82 still looks like its mainframe cousin but executes faster with more options.
NEW FEATURES
• PAGING - Editing limited only
by capacity of expanded/extended
memory or hard disk.
• SPEED - Search 1,500,000 byte
file with IBM AT in less than
13 seconds. By comparison,
the IBM 3081 mainframe takes
48 seconds.
$195
UPGRADES only $50
ADD $6 shipping
Canada $10, Foreign $15
Payment in U.S. funds by
check or bank wire (Bank
of America, San Francisco
account 05583-05454).
Net 30 to D&B rated firms.
^ "II _ _ — __ _ Command Technology Corporation
— ” ZZ 1900 Mountain Boulevard
~~ ~ .ZZL ~ Oakland. California 94611
TO ORDER
SPF/PC.
• Compatible with IBM and
Novell Networks
• Modifiable HEX display
• Line length to 954 bytes
Minimum Requirements:
DOS 2.00-3.10,192KB memory,
any IBM PC or true compatible
or TI Professional.
Telephone: (415) 339-3530
Telex: 509330 COMMAND TECH
150
CIRCLE NO. 227 ON READER SERVICE CARD
PC TECH JOURNAL
Why your next generation of
products should use our 5th
generation tools.
The Arity Expert Systems Development
Package
|lhe Arity SQL Development Package
arity
We design and distribute
high quality, serious
application software for
the IBM PC, XT, AT
and all MS-DOS
compatibles.
^ Arity/P n
°l°9 C °mpiler and Interpreter V4
>
>
-s
-1
31
CO
n
aT
CD
5“
CD
3
aT
-i
o
n
a>
=r
Q
CD*
3
3
CD
CD
o 1
o_
o_
-*■
Arity s integrated family of programming tools allows you to combine software written in
Arity/Prolog, the best of the fifth generation languages, with Arity SQL, the best of the
fourth generation languages, and with conventional third generation languages such as
C or assembly language to build your smarter application.
You can use Arity/Prolog to build expert systems using the Arity Expert Systems
Development Package. Or to build natural language frontends. Or to build intelligent
information management systems. Arity/Prolog lets you build advanced technology into
your vertical applications package.
And more...
That’s not the whole story. Arity s products are all designed to be fast, powerful, serious.
Each of our products contains unexpected bonuses. Such as a one gigabyte virtual
database integrated into Arity/Prolog. The most powerful of its kind on a PC.
Quality first. Then price.
In order to be the best, we had to prove it to our customers. Our tradition of quality
software design is reflected in every product we sell. Quality first. Then price. And we
always provide the best in customer support.
Our products are not copy protected. We do not charge royalties. We offer generous
educational and quantity discounts. And we have a 30 day money back guarantee.
fry us to know that we keep our promise on commitment to quality and reliability. Ty
us by using our electronic bulletin board at 617-369-5622 or call us by telephone-you
can reach us at 617-371-2422.
Or fill in this coupon. Whether you order today or not, let us send you full descriptions
of our integrated family of Arity products.
CIRCLE NO. 136 ON READER SERVICE CARD
Please complete this form to place vour order and/or request detailed information.
Quantity Into only
Arity/Prolog Compiler and Interpreter V4 . $795.00 _ _
Arity/Prolog InterpreterV4. $550.00 _
Arity Standard Prolog. $ 95.00 _
Arity SQL Development Package. $295.00 _ _
Aritv Expert System Development Package . $295.00 _ _
Arity Screen Design toolkit . $ 49.95 _ _
Arity Kile Interchange Toolkit. $ 49.95 _
IX) IAL AMOUN I (MA residents add .5% sales tax) (These prices include shipping to all l '.S. cities) $_
NAM E__
SHIPPING ADDRESS_
CITY/STATE/ZIP_
TELEPHONE_
Payment: □ Check □ PO □ AMEX □ VISA □ MC
Card #---Exp. date_
S ignatu re____
ARITY CORPORATION • 558 BAKER AVENUE • CONCORD, MA 01742 ~
arity
THE ULTIMATE IN ACCELERATION
X3
ITS SIMPLY THE VERY BEST MULTIFUNC¬
TION ACCELERATOR FOR YOUR PC,
PC/XT, AND COMPATIBLES AT THE
MOST AFFORDABLE PRICE! AND
IT USES NO EXPANSION SLOT!
NOW SHIPPING WITH A 30 DAY MONEY
BACK GUARANTEE
YOUR COMPUTER DEMANDS PRODUC¬
TIVITY FUNCTIONS IN ORDER TO GIVE YOU
ITS BEST!
PROCESSING POWER 200% TO 800%
X3 HAS UP TO 8 TIMES THE POWER OF A PC,
UTILIZING BOTH A 10 MHZ SUPER 88 AND
THE EXISTING CPU FOR DUAL PROCESSING
THAT OUTRUNS 80286 MACHINES. X3 ALSO
HAS A SOCKET FOR AN 8087 MATH CO¬
PROCESSOR (5, 8, OR 10 MHZ).
MORE RAM 200%
X3 PROVIDES FOR TWO 640 KB MEMORY
SPACES. THE 640 KB ON THE X3 IS FULLY
AVAILABLE FOR YOUR APPLICATION PRO¬
GRAMS, THE 640 KB IN THE PC IS RESERVED
FOR I/O BUFFERING.
HIGH PERFORMANCE I/O 15,000%
WAITING FOR I/O CONSUMES THE BULK OF
YOUR COMPUTER TIME. X3 REMOVES THIS
BOTTLENECK WITH SUCH STANDARD FEA¬
TURES AS DISK CACHEING, RAM DISK, PRINT
SPOOLING, AND ADDITIONAL KEYBOARD
BUFFERING. DUAL PROCESSING AND THE
ADDITIONAL RAM GIVES UP TO 150 TIMES
IMPROVEMENT IN I/O RESPONSIVENESS.
YOUR PC MAY HAVE TO WAIT FOR YOU!
$449
PRICE INCLUDES 128 KB OF RAM
ADDITIONAL RAM IS AVAILABLE
AT $35 FOR EACH 256 KB BANK
YOUR EXPERIENCE DEMANDS THAT YOU
ACCEPT ONLY TOP QUALITY AT THE BEST
PRICE!
COMPATIBILITY 100%
X3 PROTECTS YOUR SOFTWARE INVESTMENT.
IT IS TOTALLY COMPATIBLE EVEN WITH COPY
PROTECTED SOFTWARE AND IT WORKS WITH
MOST EMS CARDS.
WARRANTY 100% — 1 YEAR
SUPPORT 100% USA
X3 IS MANUFACTURED AND SUPPORTED
FROM OUR FACILITIES IN COLORADO.
SIMPLICITY
X3 INSTALLATION IS QUICK AND EASY, JUST
PLUG IT IN ANDTURN ITON. DOCUMENTA¬
TION IS CLEAR TO THE NOVICE AND COM¬
PLETE FOR THE TECHNICAL EXPERT.
REMEMBER!
X3 DOES NOT USE AN EXPANSION SLOT, IT
PLUGS DIRECTLY INTO THE EXISTING 8087
SOCKET.
TRAILRIDGE RESEARCH, INC.
14300 WEST 50THAVE.
GOLDEN, CO 80401
303-441-9109
NO SURCHARGE FOR
VISA OR MASTERCARD
DEALER INQUIRIES INVITED
CIRCLE NO. 189 ON READER SERVICE CARD
These C interpreters
facilitate learning
the language and
writing small
programs ; but a
full-fledged program
development environ¬
ment is yet to come.
MARTY FRANZ
L earning C is a rite of passage for
the serious programmer. The lan¬
guage is expandable enough to
handle big programs and expressive
enough to permit hardware-dependent
and time-critical code. But this power
has its price: the syntax will not catch
many programming mistakes, and
debugging is an arduous process.
In theory, an interpreter for this
traditionally compiled language can
offer the power without the price. To
appreciate the difference, consider a
typical programming task: a program¬
mer must test a new function within an
existing library and environment. To do
so with a C compiler, he must construct
a dummy main program around the
function, then wait while the various
compiler programs perform the trans¬
formations and write the temporary
files. A C interpreter, on the other hand,
will execute the function without a
main program and prompt for param¬
eters at runtime. The interpreter’s trans¬
formation from source to code is per¬
formed in RAM; it is quick and trans¬
parent to the user. The programmer
can single-step through source code
line by line, checking values and alter¬
ing variables along the way.
The designer of a C interpreter
faces a formidable task. Behind the
scenes, numerous header and library
MAY 1986
153
ILLUSTRATION • AKIO MATSUYOSHI
C INTERPRETERS
files must be coordinated in a user-
transparent linking process. Maximum
compatibility with the many compiled C
libraries on the market must be main¬
tained. In addition, an attempt must be
made to implement the C language
specification as set forth in Kernighan
and Ritchie’s The C Programming Lan¬
guage (Prentice-Hall, 1978). Full imple¬
mentation of this standard will be im¬
possible because some C constructs
cannot be applied to a PC interpreter
environment (for example, the storage
class specifier, described below).
Given the programming difficulties,
it is not surprising that the first C inter¬
preters were almost unusable. Bugs
were rampant, error checking often was
inferior, and the documentation was so
sparse that the interpreter was as chal¬
lenging as an adventure game. But
progress has been made. The C inter¬
preters reviewed here offer a level of
performance that makes them useful as
debugging and learning tools.
The four products reviewed are C-
terp by Gimpel Software, Instant-C by
Rational Systems, Introducing C by
Computer Innovations, and Run/C Pro¬
fessional by Lifeboat Associates. (The
Mark Williams Let’s C package was
judged to be a compiler and is not in¬
cluded.) In addition to an individual
TABLE 1: C Interpreters ’ Features Comparison
C-TERP
INSTANT-C
RUN/C
INTRO. C
Version tested
2.131
1.61
1.0P
1.00H
Disk space (KB)
110
250
190
81
RAM required (KB)
256
320
320
128
Full K&R language
Yes
Yes
Yes
—
Standard library
Yes
Yes
Yes
—
PC-specific library
Yes
Yes
Yes
Yes
Sample programs
Yes
Yes
Yes
Yes
Library source code
Yes
Yes
Yes
—
Memory model
Large
Large
Large
Small
Editor
Yes
Yes
Yes
Yes
Debugger
Yes
Yes
Yes
Yes
Load libraries
Yes
Yes
Yes
—
Assembler interface
Yes
Yes
Yes
—
OBJ output
—
—
-
—
EXE output
—
Yes
-
—
This field of C interpreters includes three complete C language implementations
and one product (Introducing C) designed for learning purposes only.
and comparative assessment of the
products, special attention is given to
the interpreters’ operating environ¬
ments, including the editing and debug¬
ging capabilities. Their basic features
are listed in table 1.
All four operate under DOS and
none is copy protected. C-terp and
Instant-C provide a special installation
C
What you’ve been
missing. . .
Interactive-C”
Revolutionary New Programming
Development System
At last, a full-function, professional-
quality C development system to optimize
your creative abilities. Stop waiting for
editors, compilers, and linkers that waste
your valuable time. Stop debugging in
hex at the machine level. Easily DOUBLE
or TRIPLE your productivity with this
totally-integrated, fully-interactive pro¬
gramming environment:
• Complete K & R interpreter
• Full-screen program editor
• Source-level symbolic debugger
• Command processor shell
• Execution profiler
Interactive-C requires an IBM PC or
100% compatible, MS-DOS 2.0 or later,
and 256K RAM. Interactive-C is available
for only $249 and comes with a risk-free
30 da y money back guarantee.
Enjoy the combination of power , flex¬
ibilit y, and ease of use that will make
Interactive-C the most valuable product¬
ivity tool you own. Order Today.
• Single or dual CRT configuration
• Multi-window user interface
• 40x25 and full-screen graphics support
• Detailed syntax & run-time diagnostics
• Precise cursor error positioning
• Trace, breakpoints & data watchvalues
• Several varieties of STEP
• Full-screen traceback
• Command-level “immediate” mode
• Multiple source files
• Compiled module interface
• Much, Much, More!!
For more information or to place an
order contact:
IMPACC Associates, Inc.
P.O. Box 93
Gwynedd Valley, PA 19437
215-699-7235
.Trademarks: IBM - International Business Machines; MS-DOS - Microsoft Corp.; Interactive-C - IMPACC Associates.
CIRCLE NO. 132 ON READER SERVICE CARD
procedure to change screen and key¬
board attributes, augmenting compati¬
bility. C interpreters do not allow the
programmer to chose memory models
the way C compilers do. However, C-
terp, Instant-C, and Run/C use four-byte
pointers, providing access to the full
640KB memory. Introducing C has only
a small model so all code and data
must fit in one 64KB segment.
The disk space requirement shown
in the table is the minimum amount
needed to enter and run programs us¬
ing the interpreter. All four can operate
stand-alone—that is, without the need
for additional editors, linkers, or librar¬
ies. The minimum disk space, therefore,
is the size of the interpreter .EXE file it¬
self. For most small programming jobs,
a dual-floppy-drive system should be
enough for any of these products. For
larger applications that require addi¬
tional libraries, a hard-disk system
would be more convenient. The figures
for RAM requirements were obtained
from the vendors’ documentation. All
four are quite reasonable. Note that In¬
troducing C is the only interpreter for
which the RAM and diskette storage re¬
quirements are modest enough that the
package can be run on a P Cjr.
Each of the products has some lan¬
guage limitations (which are listed in
table 2). C-terp, Instant-C, and Run/C
impose only minor restrictions, similar
to those programmers encounter when
converting programs among different C
compilers. These three interpreters sup¬
port the full Kernighan and Ritchie stan¬
dard for the language; however, none
of the interpreters provides any of the
proposed ANSI extensions. Introducing
154
PC TECH JOURNAL
TABLE 2: C language Restrictions
ANNOUNCING
C-TERP
Minor restrictions in preprocessor; #line not supported.
INSTANT-C
Comments may not be placed in the middle of an expression.
Minor restrictions in preprocessor; #line not supported.
RUN/C
No preprocessor directives other than #include or #define.
Typedefs cannot nest.
No multiline string constants.
No forward references in aggregate declarations.
No multidimensional arrays.
No explicitly declared statics and externs.
No struct, union, dot (.), and arrow (-►) operators.
No initializers.
No preprocessor directives except simple #define.
No typedef.
No casts.
No goto and labels.
Storage-class specifiers (register specifiers, for example) cannot be implemented
because interpreters must allocate variables using a common symbol table and
keep additional information about the variable’s scope, type, and length.
ZIPCALC
FOR
TURBO PASCAL™
Capability to go from screen to screen
in a fraction of a second will provide
your software the decisive competitive
edge - ZIPCALC makes this possible
for both text and numbers.
INSTANT TEXT DISPLAY
Standard Pascal "write" procedure
takes several seconds to fill the screen
with text data. ZIPCALC fills the
screen with the same text in less than
1/10 second. Full instant windowing
capability is also included.
ULTRA FAST NUMBER DISPLAY
Writing real numbers adds crucial time
to convert the number to a printable
string. ZIPCALC removes this time
barrier by providing a 32-bit Long
Integer data type that converts to a
printable string 7 times faster.
C is very restricted. It supports only a
subset of the C language, but C without
structures and typedefs is not really C at
all. These inherent limitations are
enough to prevent casual programmers
from running source code from a users’
group or bulletin board. This subset is
acceptable only for learning the lan¬
guage at a very basic level. (Introducing
C was not designed as a professional
program development tool. It is an inte¬
gral part of a training system and was
developed solely ^s a training tool.)
These interpreters also are lacking
in the area of preprocessor directives:
Introducing C supports none and the
others support only a few. Some larger
C programs use complex preprocessor
operations with #define and macros,
and they may have to be fine-tuned by
hand to load under these interpreters.
This is not a serious problem: any pro¬
grammer who has converted from one
PC C compiler to another generally
learns to perform these tasks, but it is
an aggravation nonetheless. Run/C also
requires that typedefs be defined be¬
fore structures that use them.
Storage-class specifiers (register
specifiers, for example) cannot be used
by interpreters because interpreters.
must allocate variables using a common
symbol table and keep additional infor¬
mation about the variable’s scope, type,
and length. These interpreters simply
ignore storage-class specifiers; there¬
fore, programs that use them can be
loaded and run without diagnostics.
This is not a deviation from the stan¬
dard, however; the Kernighan and
Ritchie book says that register specifiers
are a suggestion for the compiler, not a
requirement. As reference, note that
several of the C compilers reviewed in
the January 1986 issue (see “The State
of C,” William J. Hunt, p. 82) do not
support register variables.
A much more serious restriction is
in the interpreters’ omission of the
function exit commands setjmp( ) and
longjmp(). These functions are used in
many libraries and programs, such as
XLISP and Que book’s ISAM, and re¬
quire a detailed knowledge of the inter¬
preter’s memory management scheme.
Implementing them with an external
library or a hand-crafted assembly
language program would be difficult.
LIBRARY SUPPORT
C-terp, Instant-C, and Run/C implement
the complete standard C library. But
again, Introducing C is limited It omits
random-file functions such as lseek(),
creat( ), and open( ) and memory man¬
agement functions such as alloc() and
free( ). These limitations suggest its use
only for the novice C programmer.
All four interpreters include func¬
tions beyond those in the standard
UNIX library: C-terp offers extra math
and interrupt functions. Instant-C has
HIGH SPEED COMPUTATION
The Long Integer data type is the ideal
alternative to the real data type for a
wide variety of financial and other
applications because of its dramatic
increase in computation speed.
ZIPCALC provides a full assortment of
procedures and functions for Long
Integer arithmetic, shifts, compares,
conversions to other data types, and
full string conversion (decimal, dollar,
hex, binary). ZIPCALC puts the power
of a 32-bit processor at your fingertips
in convenient Pascal callable form.
EASY TO LEARN EASY TO USE
ZIPCALC consists of 35 highly
optimized procedures and functions,
most assembler coded. Tutorial User's
Guide, programmed demonstrations,
and many examples make ZIPCALC
easy to learn and easy to use.
IBM PC & TRUE COMPATIBLES
$45 including N.Y. sales tax & shipping
DYNfiMCJS
MICRO-DATA SYSTEMS, INC.
1045-T Gravel Road
Webster, N.Y. 14580
(716) 671-5866
Turbo Pascal is a registered trademark of Borland
International Inc.
MAY 1986
CIRCLE NO. 104 ON READER SERVICE CARD
155
C INTERPRETERS
TABLE J; C Libraty Comparison
C-TERP
INSTANT-C
RUN/C
INTRO. C
UNIX STANDARD LIBRARY
Stream files
Yes
Yes
Yes
Yes
Ato conversion
Yes
Yes
Yes
Yes
Ito conversion
Yes
Yes
Yes
Yes.
Str
Yes
Yes
Yes
Yes
Random files
Yes
Yes
Yes
—
Memory management
Setjmp()
Yes
Yes
Yes
PC-SPECIFIC
Bdos ()
Yes
Yes
Yes
—
Int86 ( )
Yes
Yes
Yes
—
Interrupt handler
Yes
—
HHHHj
Segread ()
—
Yes
Yes
—
Communications
—
. —
Yes
— WS/tl
ADDITIONAL
Math
Yes a
Yes
_
Trig
—
Yes a
Yes
—
Graphics
—
Yes a
Yes
Sound
— -
—
—
Yes
LIBRARY
Availability
Good
Good
Good
—
°Provided in source form, user must read in.
C-terp, Instant-C, and Run/C provide access to other C compiler libraries.
Made To Be Broken
If you're using Turbo Pascal, Turbo Extender
is the software you need to break the 64K
barrier. Now write programs as long as you
need, limited only by available RAM.
LARGE CODE MODEL
Write programs using all 640K without
overlays or chaining. Convert existing
programs with minimal effort. Offers
advanced dynamic binding or standard
EXE files.
MAKE FACILITY
Offers separate compilation. No starting from
scratch for source code changes.
LARGE DATA ARRAYS
Automatically manages data arrays up to
30 megabytes, as well as arrays stored in
expanded memory.
ADDITIONAL TOOLS
Overlay Analyst, Disk Cache, Pascal
Encryptor, Shell File Generator, and File
Browser.
TURBO EXTENDER
Includes 2 DSDD disks, complete source
code, 150 page printed manual. Requires
Turbo Pascal 3.0 and PCDOS 2.x or 3.x.
Runs on IBM PC/XT/AT and compatibles.
Call for MSDOS support. $85 COMPLETE.
ALSO AVAILABLE
TURBOPOWER UTILITIES
Bruce Webster, in BYTE Magazine, Februaiy
1986, named it Product of the Month, saying
“If you own Turbo Pascal, you should own
TurboPower Utilities, that's all there is to it."
It offers 9 programs in all, including the
Program Structure Analyzer which locates
subtle coding problems the compiler fails to
catch. It also produces reports that describe
your code, providing cross reference and
hierarchy diagrams. Also includes Execution
Timer, Execution Profiler, Pretty Printer,
Command Repeater, Pattern Replacer,
Difference Finder, File Finder and Super
Directory.
TURBOPOWER UTILITIES
Come compiled, ready to use. Includes
manual, reference card, thred DSDD disks,
complete source code. Requires Turbo
Pascal 2.0 or 3.0. $95 with source code;
$55 executable only.
GET BOTH TURBO EXTENDER AND
TURBOPOWER UTILITIES (Source) $149
MC/VISA CALL TOLL-FREE 7 days a week
800-538-8157x830 (CA)
800-672-3470x830 For PO, COD,
Dealers, Info, Brochures - call or write:
478 W. Hamilton 4/196
Campbell, CA 95008
(408) 378-3672 M-F
9AM-5PM PST
INTERNATIONAL REPRESENTATIVES
Switzerland: Software Haus 064-512651
Japan: Southern Pacific Ltd. 045-314-9514
Norway: Polysoft 03-825275
England: Grey Matter Ltd. 0364-53499
Australia: Videogram Communications 02-627-1261
CIRCLE NO. 193 ON READER SERVICE CARD
extra math and trig functions in source
form, plus built-in interrupt call and
handling functions. Introducing C
includes graphics and sound functions
for the beginning programmer. Run/C
includes many common Lattice library
functions built-in, plus extra graphics
functions in source form. The library
functions available with each of the
interpreters are summarized in table 3.
Frequently, C users write their own
extensive function libraries or purchase
them from vendors. In acknowledgment
of this, C-terp, Instant-C, and Run/C per¬
mit object function libraries to be
loaded into the interpreter and called
from an interpreted program. This capa¬
bility greatly increases their usefulness
in a development environment: even if
the interpreter is not being used to de¬
velop full-blown programs, it can be
used to write 5- to 10-line programs to
check out libraries. This feature is im¬
plemented differently by each of the in¬
terpreters offering it.
C-terp has been compiled under
the Lattice, Computer Innovations, and
Aztec compilers and is available in one
of these versions. Additional functions
(.OBJ files) or libraries (.LIB files) must
be compiled under the appropriate
compiler. To add a function to C-terp,
the source file TBLXN.C is edited and
the new function’s name is added to a
list of externals and a large data struc¬
ture. TBLXN.C is then recompiled using
the same compiler as the remainder of
the interpreter, and the whole inter¬
preter is relinked. Assembler modules
can be added to C-terp if they follow
the interface requirements of the com¬
piler. Although the most general of the
three, this method is also the most
tedious; it requires reediting and re¬
compiling TBLXN.C each time the func¬
tions linked with it are changed. In a
situation in which several add-on
libraries (such as a screen handler and
an access method) are used, this pro¬
cess could prove prohibitive.
With Run/C, loadable libraries must
be compiled under Lattice’s large
model. The .LIB or .OBJ files then are
linked with two specially provided .OBJ
files, RCLMAIN and RCL2. The program¬
mer must create another control file
with extension .RCL that describes the
library, including the amount of mem¬
ory required and brief templates of
each of the functions. Once this prepa¬
ration is complete, the library (turned
into a .EXE file by the linker) can be
loaded directly into the Run/C inter¬
preter with a single command.
One drawback to the Run/C system
is that libraries either must be available
in source form for recompilation or
must have been compiled under Lattice
C. This is not a major problem because
most commercial libraries satisfy one of
156
PC TECH JOURNAL
TABLE 4: Editing and Debugging Features
C-TERP
INSTANT-C
RUN/C
INTRO. C
EDITOR
Full-screen
Yes
Yes
Yes
Yes
Paging
Yes
Yes
Yes
Yes
Insert/overlay
Yes
Yes
Yes
Yes
Search/replace
Yes
Yes
Yes
Yes
Block move/copy
Yes
Yes
Yes
Yes
Multiple buffer
—
Yes
—
—
Automatic format
—
Yes
—
—
Shell facility
Yes
Yes
Yes
—
Goto last error
Yes
—
Yes
Yes
DEBUGGER
Trace
Yes
Yes
Yes
Yes
Breakpoint
Yes
Yes
Yes
—
Single step |
Yes
Yes
Yes
—
Side step 3
Yes
Yes
Yes
—
Pointer check
Yes
—
Yes
—
Display variables
Yes
Yes
Yes
Yes
Display memory
—
Yes
—
—
Alter variables
Yes
Yes
Yes
—
PROGRAM PROFILER
—
—
Yes
—
SIDEKICK COMPATIBLE
Yes
Yes
Yes
Yes
“Side step means to single step through source but execute function calls at full speed.
This group of interpreters brings BASIC’s debugging power to the C language.
these criteria. The advantage to using
this system is that when a function
changes, only the individual library that
contains it need be relinked, not the
entire interpreter.
Finally, the Instant-C interpreter
permits .LIB or .OBJ files to be loaded
directly with a preprocessor directive
provided they are compiled under the
Lattice small memory model (limiting
each loaded module to 64KB) or, if in
assembly language, they were written
using the Lattice compiler’s calling con¬
ventions. While it is the easiest to use,
the Instant-C method may present a
problem if the desired functions are not
available in the small model.
EDITING OPTIONS
All four C interpreters provide a user
interface that has a full-screen editor.
Their individual features, and those of
the debuggers, are summarized in table
4. The Introducing C editor is the sim¬
plest of the four (many Introducing C
users, having moved up from BASIC,
may never have used a full-screen edi¬
tor). It does exhibit an annoying flicker
during screen updates, but its com¬
mands include the ability to copy and
move lines, in addition to most basic
editing functions. Many of this inter¬
preter’s commands are activated by the
first letter of their name, such as C to
change text or W to write a file.
The Instant-C editor is the most so¬
phisticated. Unlike the others, it is ob¬
ject oriented: instead of working on an
entire source file, editing is done on in¬
dividual functions and global variables.
But this feature can be annoying be¬
cause the header portion of a source
file, where global variables are defined,
cannot be viewed in its entirety. One of
its better features is automatic format¬
ting and block comment supplied when
the function is entered; this encourages
the programmer to use a readable cod¬
ing style. The Instant-C editor is also the
only one to support multiple editing
buffers, and it permits cutting and past¬
ing text between them. The keyboard
may be customized using a special defi¬
nition program. Finally, the package in¬
cludes a stand-alone version of the edi¬
tor, presumably for editing non-C files
outside of the Instant-C environment.
Instant-C is the only interpreter
that permits multiple source files in
memory at the same time. This is an
important feature to writers of large
programs. The best a programmer can
do without multifile editing is assemble
a user library and test one file at a time.
However the terse Instant-C documenta¬
tion discusses this feature only briefly.
The Run/C interpreter has been
overhauled and a new, full-screen edi¬
tor added. This editor uses WordStar-
like control-key commands to perform
CopyWrite
BACKS UP
IBM PC
SOFTWARE
Hundreds of the most
popular copy-protected
programs are copied readily.
CopyWrite needs no
complicated parameters.
It needs an IBM Personal
Computer, or an XT or an AT,
128k bytes of memory, and
one diskette drive.
CopyWrite will run faster
with more memory or
another drive.
CopyWrite is revised
monthly to keep up with the
latest in copy-protection.
You may get a new edition at
any time for a $15 trade
in fee.
CopyWrite makes back up
copies to protect you
against accidental loss of
your software. It is not for
producing copies for sale or
trade, or for any other use
that deprives the author of
payment for his work.
To order CopyWrite, send a
check for $50 U.S., or call us
with your credit card. We will
ship the software within
a day.
Quaid Software Limited
45 Charles Street East
Third Floor
Toronto, Ontario M4Y 1S2
(416) 961-8243
Ask about ZeroDisk to run copy-protected
software from a hard disk without floppies.
MAY 1986
157
C INTERPRETERS
many of its functions, such as moving
and deleting blocks. Users familiar with
the Borland Turbo Pascal or SideKick
editors will find no surprises here. One
unique feature of Run/C is an ability to
specify an external DOS editor and call
it from the interpreter with a single
command, provided enough RAM is
available to permit both the editor and
interpreter to be resident. The current
source file is automatically saved in the
current directory as PROGRAM.C, then
reloaded back into the interpreter when
the editor exits. This feature permits a
programmer to use his own editor in at
least a partially integrated manner with
the rest of the Run/C environment.
C-terp’s editor features Alt-key
combinations that are named according
to some mnemonic merit (for example
Alt-H for help and Alt-G for a global
search). It offers many standard fea¬
tures, such as block move and copy, but
like the other editors, it is neither
obtrusive, nor particularly powerful.
Deciding among four unique edit¬
ing styles and user interfaces can leave
a programmer wishing for a PC text-
C-terp
TheC
Interpreter
You Won't
Outgrow
C-terp will grow with you as you progress
from novice through professional to guru.
Unbelievable, but true, the easiest-to-use
C interpreter will provide you with the
most advanced programming features for
upward growth. Our exclusive object
module support enables you to acid
libraries (like HALO, PANEL, Windows for
C, etc., or your own homebrew libraries)
to C-terp as you add them to your comput¬
ing repertoire. Use C-terp as a microscope
on your libraries! Flip a bit and allow our
software paging (NEW) to handle those
big jobs! There are no fixed-size tables
to overflow, and C-terp can be configured
for different screens and screen adapters
(NEW). With multiple modules and full
K&R support, we offer a dream C environ¬
ment.
• Our new improved configurable editor
competes with anything going.
• Speed -- Linking and semi-compilation
are breathtakingly fast.
• Convenience -- Errors direct you back
to the editor with the cursor set to the
trouble spot.
• Symbolic Debugging--Set breakpoints,
single-step, and directly execute C ex¬
pressions.
• Compatibility guaranteed - batch file to
link in your compiler's entire library.
Supported compilers include:
Computer Innovations C86, Lattice C,
Microsoft C 3.0, Mark Williams C86, and
Aztec C.
• Many more features including batch
mode and 8087 support.
What Our Users/
Reviewers Are Saying
.. easy to use, powerful, and a
timesaver."
.. we absolutely LOVE C-terp."
.. has restored my faith in
interpreters."
"... a programmer's dream."
.. wonderful technical assistance."
"... increased our productivity by a
factor of 40."
"... the best C product ever, in any
category."
• Price: $300.00 (Demo $45.00)
MC, VISA
Prices include documentation and shipping
within U.S. PA residents add 6% sales tax.
Specify compiler.
• C-terp runs on the IBM PC (or any BIOS
compatible machine) under DOS 2.x
and up with a suggested minimum of
256 Kb of memory. It can use all the
memory available.
• C-terp is a trademark of Cimpel Software.
Idem §®gith
3207 Hogarth Lane • Collegeville, PA 19426
(215) 584-4261
editing standard. Moreover, none of
these editors is as powerful as some
DOS-based programming editors, such
as Phoenix PMATE, a fact that is sure to
dissatisfy experienced C programmers.
GREAT DEBUGGING
In contrast, all of these products offer
convenient debugging facilities, because
the source and symbols of the pro¬
grams are immediately available and no
special compilation is needed to in¬
clude this information in a .EXE file. All
four can trace a program’s execution,
permitting optional viewing of the func¬
tion stack and expression results.
Beyond simply tracing execution, C-
terp, Instant-C, and Run/C, can stop a
program during execution, examine its
variables, change them, and resume.
The programmer implements this capa¬
bility through special functions inserted
into the program at desired break¬
points. Once stopped, the interpreters
permit inspection and modification of
variables, as well as single stepping.
The improper use of pointers is a
common bug in C programs. A program
that contains such a bug can overwrite
memory, causing disastrous results.
Normally, C compilers do not perform
pointer checking, in order to make the
object code generated as small and fast
as possible. However, two of these in¬
terpreters—Run/C and C-terp—provide
this capability. In both, an improperly
used pointer in a running program
causes an error display and halts pro¬
gram execution. Run/C pointer checking
can be switched on and off with the ap¬
propriately named SET TRUST com¬
mand. C-terp pointer checking cannot
be disabled completely. Minimal check¬
ing is retained even when full checking
is disabled: pointers are checked only
for zero segment. This protects some
vital areas of memory, while speeding
up execution. C-terp also permits selec¬
tive checking of pointer arguments in
external functions using flags in tables
contained in TBLXN.C. Pointer checking
is a good feature to have, especially
when converting a program from small
to large compiler models.
Run/C includes another helpful
tool, a program profiler, which profiles
a single function or range of lines; it
can be activated as a command or with¬
in a program. The profiler counts the
number of times each line is exe¬
cuted—an indication of the program’s
performance. While not a debugging
feature per se, this is a convenient capa¬
bility in an interpreted environment.
All four products are compatible
with SideKick, a handy utility during
158
PC TECH JOURNAL
TABLE 5: Documentation Comparison
C-TERP
INSTANT-C
RUN/C
INTRO. C
Installation
Good
Fair
Good
Good
Set-up
Good
Fair
Good
Good
Tutorial
—
—
—
Good
Editor
Poor
Fair
Good
Good
Error messages
Fair
Good
Good
Good
K&R differences
Poor
Poor
Good
Good
Library reference
F^air
Fair
Good
Good
Linking externals
Poor
Poor
Good
—
Assembler information
Poor
Poor
Good
—
Technical details
Good
—
Good
—
Source code
Fair
Fair
Good
Fair
Updates
Fair
Good
Good
—
Index
Fair
Good
Good
Overall rating
Fair
Fair
Good
Good
Documentation often takes a back seat when software is still being perfected. The
manuals for C-terp and Instant-C did not match the quality of the programs.
TABLE 6: C Performance Benchmarks
The Lattice C compiler has been included for comparison. Index means the aver¬
age ratio of a program’s execution time versus Instant-C’s execution time.
programming. More importantly, this in¬
dicates that all four play by most of the
rules for IBM compatibility—no non¬
standard keyboard or screen handling
that can make their use with other pro¬
grams or with LANs difficult.
IN WRITING
The products’ documentation ranges
from sparse to quite complete, as the
summary in table 5 indicates. Documen¬
tation for a C interpreter should reflect
its dual purpose as a productivity tool
for advanced programmers and as a
learning tool. However, only Introduc¬
ing C provides basic material for new C
programmers, and in this area, it is ex¬
cellent. Its manual is organized into
modules ideal for self study; a week or
two with this package provides a very
worthwhile hands-on experience with
most fundamental C concepts. The In¬
troducing C manual lacks technical de¬
tails about the interpreter, but this flaw
is not that serious considering its in¬
tended audience: novice programmers.
The other three products do not
provide material for beginning pro¬
grammers. They simply list the inter¬
preter’s features and functions. Of the
three, the Run/C documentation is the
best written and contains the most in¬
formation. Instant-C’s manual is the next
best; but it is hurt by offering only min¬
imal technical information, especially in
the critical area of loading libraries and
object modules. In particular, it contains
little about the unique Instant-C ability
to generate a stand-alone .EXE program
out of source files. C-terp has the worst
documentation, a sparse 104 pages with
no index. A beginner will need a good
C programming primer and The C Pro¬
gramming Language with any of the
products except Introducing C.
Source code is an excellent source
of technical information, and all of the
interpreters supplied some. Run/C’s is
the most extensive, with a complete
graphics library and well-documented
sample programs for nearly every func¬
tion in the interpreter’s library. Instant-
C supplies source code for parts of its
library, including the trig and math
functions. C-terp offers a few sample
programs in addition to the code for
TBLXN.C. Introducing C has a “built-in”
library; its header can be customized
and functions can be added to it by
inserting source code into die library
source file. Several sample programs
also are included.
All four interpreters underwent
substantial revision and debugging dur¬
ing the time this article was being writ¬
ten. Therefore, update information is
important. Instant-C, in keeping with
the experimental nature of this kind of
product, offers free upgrades to regis¬
tered users. Users are charged for up¬
dates to C-terp and Introducing C. The
Run/C purchaser will receive a free up¬
date if he is the first to report a bug.
BETTER THAN COMPILING
To a point, all of these interpreters are
convenient to use. Trade-offs have been
made in favor of power (Instant/C) or
ease-of-use (Introducing C), but this is
dictated by their intended audiences.
Moreover, using any interpreter is pref¬
erable to editing, compiling, and linking
programs with a C compiler.
The performance benchmarks in
table 6 highlight the major differences
among these products. Three programs
from the PC Tech Journal benchmark
suite were run on each interpreter.
They were written by William J. Hunt
for his article “C and the PC” (Novem¬
ber/December 1983, p. 110). The
source code for these benchmarks is
available for downloading on PCTECH-
line. Each test is described below.
SIEVE.C is the Sieve of Eratos¬
thenes, which finds prime numbers. It
tests an interpreter’s looping, integer
math, and array subscripting speed. For
these evaluations, the array size was re¬
duced from 8,192 elements to 1,024 so
that the tests would finish in a reason¬
able amount of time. In this test, Run/C
and Introducing C were quite slow.
FILECOPY.C copies one file to
another, first filling a 16KB array with
data from the input file, then writing it
all to the output file. This benchmark
tests an interpreter’s speed in a systems
program setting, using command line
arguments, the creat() and open()
low-level file calls, and looping. This
test could not be run on Introducing C
MAY 1986
159
C INTERPRETERS
because creat( ) and open( ) are not in¬
cluded in its library.
PENTATH.C is a suite of six tests:
floating-point math, dummy function
calls (important in an interpreter
because a great deal more overhead is
involved in keeping track of the vari¬
ables passed), string copying, character
processing, file copying, and writing a
large file. For these interpreters, the
loop limits had to be reduced by a
factor of 10, and sometimes 20.
The benchmark programs were
run on an Alpha Micro Workstation (a
PC/XT look-alike) with 512KB of RAM, a
10MB hard disk, and an STB Chauffeur
video card, and running DOS 2.1. No
CONFIG.SYS file was present, and the
system was rebooted after each bench¬
mark to avoid interference by DOS disk
caching. The same files were used for
all four interpreters and they were kept
in the same location on the hard disk to
eliminate the effects of directory
searches and space fragmentation.
Because compile times are virtually
instantaneous for all four interpreters
and storage use was difficult to deter¬
mine (the interpreters use preallocated
symbol tables, for example, so variable
storage requirements remain constant
when different size programs are
loaded), only execution times are pre¬
sented here. Unfortunately, these times
could not be obtained using the PC sys¬
tem clock because Introducing C has no
DOS interrupt capability. Instead, each
benchmark was timed with a stopwatch;
but this should not be considered a lia¬
bility in making comparisons because of
the sizable differences in the bench¬
mark results. Note that the tests also
were compiled using the small model
of Lattice C 2.15 to offer a frame of ref¬
erence against an optimizing compiler.
Clearly, Instant/C is the perform¬
ance champion. Furthermore, in every
test but one (the file-copying portion of
PENTATH.C) its times compare well
with the Lattice compiler. This inter¬
preter was tested last, using the scaled-
down versions of the tests required by
the other three products. Time after
time, the Instant/C prompt was staring
back just barely after pressing Enter.
Most of the elapsed times for Instant/C
(and the Lattice compiler .EXE files),
therefore, were obtained by running
the tests 10 or 20 times and dividing by
the number of iterations. Rational Sys¬
tems says that Instant/C uses a propri¬
etary form of incremental compilation.
This process retains enough informa¬
tion about the original source program
so that no separate source file is
required; when a function or global
variable is edited with Instant/C, it is
recreated from the object code.
The second best performer, C-terp,
is quite a technical accomplishment. It
turned in rather respectable times, con¬
sidering its small size. The manuals
design notes say that this interpreter is
written mostly in C with critical por¬
tions in assembly language for speed.
An intermediate, tokenized language
that speeds up execution is produced
from source code (like a BASIC inter¬
preter). It did, however, display a minor
lag in converting to tokens and convert¬
ing back to source code.
Run/C and Introducing/C are slow.
In fact, both are much slower than
interpreted BASIC. (A BASIC SIEVE
benchmark on the same machine took
26.0 seconds with BASICA and 0.2 sec¬
onds with the BASCOM 1.0 compiler.
The source code of the BASIC bench¬
mark, SIEVE.BAS, is available on
PCTECHline.) These C products are
slower than BASIC because both inter¬
pret the program’s source code with
little intermediate tokenizing. While this
makes switching between editing and
Let DaTapaSS Help You Tie the Knot!
I f you’re ready to unite your IBM PC’s and compatibles to
your host system, it’s time you thought about DaTapaSS.
DaTapaSS is quick and simple. No fuss, no ceremony: Just a
natural union of the features you need most. Features like un¬
attended automatic file transfers. Automatic restart and recovery of
interrupted transfers. Error-free uploading and downloading of
binary or ASCII files: across public networks, dial-up phone lines,
and direct-connect asynchronous lines. Full access to DOS func¬
tions. VT100 emulation. Key-selectable signon sequences. Softkeys
you can program from DOS or your host system. Outstanding
documentation. You can even use it to transfer files between
different kinds of host systems.
Best of all, you can use DaTapaSS as is, or you can work with our
staff of consultants to build it into your specialized applications.
So. If you’re ready to exchange deadlock for wedlock, try DaTapaSS
-- and give DTSS a ring!
DTSS Incorporated
A Subsidiary of Metropolitan Life Insurance Company
Buck Road • Box 70 • Hanover, NH • 03755 • 603/643-6600
CIRCLE NO. 103 ON READER SERVICE CARD
160
PC TECH JOURNAL
running programs go quickly, a penalty
is paid in execution time. This lesser
performance may be acceptable for
learning, debugging, and library check¬
out because the amount of code exe¬
cuted tends to be small. However, it be¬
comes prohibitive to use these inter¬
preters for large programs.
FOUR Cs
The current assemblage of C inter¬
preters is discussed below. Each seems
oriented to a particular segment of the
C programming audience. All of the
products require an IBM PC or compati¬
ble, one disk drive, DOS 2.0 or later,
and either a color or monochrome dis¬
play. Run/C and Instant/C require 320KB
of memory; C-terp requires 256KB, and
Introducing C requires 128KB.
Run/C Professional. Written by Age of
Reason and published by Lifeboat Asso¬
ciates, Run/C is available in two ver¬
sions: the professional version tested
here and a smaller version, called Run/
C: The C interpreter, which does not in¬
clude loadable library support. This
smaller version is intended for begin¬
ning C programmers.
Run/C comes packaged in an IBM-
style binder and slipcase. The documen¬
tation is clear and thorough, and in¬
cludes a good index, careful library de¬
scriptions, and many examples. The
manual goes beyond a functional de¬
scription of Run/C to explain how the
interpreter was designed and written.
In action, Run/C resembles inter¬
preted BASIC: a row of function key
labels appears at the bottom of the
screen in reverse video, and typing
commands or statements is answered
by “Ok.” F2 is used to run the program,
starting with main( ), and F6 edits the
source of the last error received. Func¬
tions not activated with function keys
are performed using BASIC-style com¬
mands, such as LOAD and LIST. When a
breakpoint is reached in a program, it
enters a mini menu that permits exami¬
nation and changing of variables, inter¬
active execution of statements, or state¬
ment tracing. Programmers with even a
casual familiarity with BASIC will find
Run/C easy to use.
Despite its poor showing in the
time trials, Run/C is a solid product that
performs many tasks well. It includes
most of the functions from the Lattice
compiler’s library, and supports the full
Kernighan and Ritchie standard. This
entire package displayed a polish in
important areas, such as its manual,
user interface, and messages, that is
missing in the others. It was the only
package to include sample source hies
for every function in its library. Run/C is
suitable for programmers who will be
using the interpreter to debug pro¬
grams and to check libraries, but its
slow performance does not recommend
it for writing large programs.
C-terp. This interpreter from Gimpel
Software performed well through most
of this evaluation. In addition, it offers
some unique features.
C-terp uses a menu-based user
interface that resembles pfs:write and
pfs-.hle by Software Publishing. The
editor, debugger, and hie handling are
invoked from this main menu. The
menus work smoothly and should be
comfortable even to the experienced
programmer accustomed to command-
oriented execution. When the debugger
is in use, the editor is available in
browse (read-only) mode in a separate
window, so the source code of the pro¬
gram being interpreted is visible for
reference. A smaller menu similar to
Run/C’s, although less functional, also is
displayed; it permits the programmer to
execute statements, display variables,
single step execution, etc.
Get a Grip on Assembly language.
The Award Winning
Visible Computer: 8088.
Assembly language programming isn’t
easy, but you don’t have to be a genius
to learn it. Let your PC teach it to you.
The Visible Computer: 8088 is a
comprehensive system of book and
software for mastering the elusive
skills of assembly language.
It’s an animated simulation of the
8088 microprocessor that lets you see
with your own eyes how the 8088
works. You’ll be using it as a debugging
tool for years to come.
It’s a tutorial. The 350 page manual
is more than instructions on running
the simulator-a lot of people think it’s
the best book on assembly language
ever written.
It’s 45 demonstration programs
you’ll work through with the 8088 sim¬
ulator, from simple register loads to
advanced programs that manipulate
interrupts and perform file I/O.
PC Tech Journal
“Program of the Month”
“(The Visible Computer) is at once
useful and educational, offering an
interactive debugger and a self-paced
course in 8088 architecture and assem¬
bly language... A considerable value.”
The Visible Computer: 8088 for
IBM PC/ XT/AT and true compatibles.
$49.95
Copy Protected
Unprotected
If your dealer doesn't have it, order direct:
Software Masters, 2714 Finfeather, Bryan, TX 77801
(409)822-9490. Please enclose $3.00 shipping. Bank
cards accepted
TVC lets you see into
an 8088 as it executes programs
Software
Masters ™
CIRCLE NO. 168 ON READER SERVICE CARD
MAY 1986
161
C INTERPRETERS
The benchmarks show C-terp to be
a fairly fast C interpreter. It supports the
full Kernighan and Ritchie C definition,
in addition to a good-sized library. Its
primary problems are terse documenta¬
tion (a poor comment for a $300 soft¬
ware product, however technical the au¬
dience) and a potentially clumsy load¬
able library scheme. The manual, pack¬
aged in a fabric binder and slipcase,
comes with four diskettes. This inter¬
preter might be a good choice for the
veteran programmer or for the hobbyist
who is able to work with a minimum of
product documentation.
Introducing C. Computer Innovations
produces this C interpreter in addition
to a C compiler, Optimizing C86, which
was reviewed in the January 1986 issue.
Based on its documentation and the
functions offered, Introducing C clearly
is intended for beginning C program¬
mers, not as a development environ¬
ment. In earlier versions, this product
was copy protected; fortunately, this was
removed in the latest version.
This interpreter is a good starting
point for the new programmer who
wants to learn the C language and
graduate at some point to a compiler.
Although it lacks many important C fea¬
tures, such as structures, this product
implements enough of the language to
introduce C to the beginner. The not¬
ably excellent manual goes a long way
itself in teaching the language, provid¬
ing many examples toward that end.
Moreover, even with its slow execution
times, Introducing C includes adequate
graphics and sound functions to keep a
new programmer at least interested.
In spite of all this, the novice user
probably will need to leave the nest
someday. It does a good job of error
detection, but Introducing C lacks the
speed and features necessary to the
experienced programmer; its debugging
support, in particular, is insufficient to
handle large or complex programs. A
user would need to carry programs
written in Introducing C over to a C
compiler and go from there.
In short, this product lives up to its
name in offering the programmer a
smooth beginning into the C language.
(Even the packaging is uncomplicated: a
Turbo-style paperback manual and a
single diskette.) In this area, none of
the other three products can compare.
Instant-C. This interpreter from Rational
Systems is intended as a complete C
development tool for beginning and ex¬
perienced programmers alike. But the
product’s environment effectively limits
the audience to seasoned C veterans
who probably already feel comfortable
with their C compilers and debuggers.
The Instant-C user interface, when not
in the full-screen editor, resembles a
UNIX terminal session, with numerous
cryptic commands to control every
detail of the session. Prompting and
help information is minimal. So, despite
the documentation’s claim that Instant-C
is ideal for new users, only serious
programmers need apply.
This acknowledged, Instant-C is a
powerful, complex C interpreter, offer¬
ing the experienced programmer many
valuable facilities. Its strong points are a
full support of the language and stan¬
dard library and an unbelievably fine
performance. What is surprising is that
such an advanced product should want
for a better manual. The documentation
included, in an IBM-sized binder with
two disks, is painfully brief. In spite of
this, Instant-C can help C programmers
improve their productivity.
C INTO THE FUTURE
Before purchasing a C interpreter, the
programmer must have a good under¬
standing of what such a program can
do. It can provide an amicable environ¬
ment for learning C, along with easy
editing and excellent debugging. It can¬
not (as yet) provide the speed, flexibili¬
ty, or reliability of a compiler. The pro-
FORTRAN FROM
THE HIGHEST
AUTHORITY
Namely, RM/FORTRAN™ from Ryan-McFarland.
It’s nothing less than a mainframe FORTRAN
compiler for a pc. It’s also a full ANSI 77, complete
with mainframe extensions and GSA-certified error-
free at the highest level. And, thanks to our high
optimizing compiler, it’s the fastest pc FORTRAN
you can buy To do just that, call us at 213-541-4828.
Or write 609 ■■ ■■■
Deep Valley Dr., ■ IIH RYAN-
Rolling Hills ■ ■■■ McFARlAND
Estates, CA 90274. Masters of the Language.
RM/FORTRAN is a trademark of Ryan-McFarland Corporation. © 1986 Ryan-McFarland Corp.
162
CIRCLE NO. 174 ON READER SERVICE CARD
COMPLETE
YOUR
:/»
OF
TE@H
JOURNAL
Add to your PC TECH JOURNAL collection
today. Make your personal library complete
and authoritative with any issues you may be
missing.
Copies are available for issues published
during the last twelve months—be sure to
specify the issues you want. If a particular
issue is out of stock, your payment will be
refunded promptly.
Back issues of PC TECH JOURNAL are
priced at $7.00 each, postpaid. Outside USA,
$8.00 each.
PC TECH JOURNAL
Ziff-Davis, One Park Avenue, 4th Floor,
New York, NY 10016, K. Armstrong
Please send- issues of PC TECH JOURNAL listed
below:
Issue
Qty.
Unit Price Total Price
Payment Enclosed $
| Mr./Mrs./Ms._
| Address-
| City/State/Zip_
CIRCLE NO. 149 ON READER SERVICE CARD
PC TECH JOURNAL
grammer can neither chose a memory
model, nor place a variable in a register
for greater speed. Also, these inter¬
preters are not fast enough for time-
critical projects such as interrupt rou¬
tines that manage hardware. Finally, C
interpreters are still under develop¬
ment; this is evident in their documen¬
tation, which often takes a back seat
when software is being perfected.
Introducing C is the least likely to
interest the program developer. It ful¬
fills its educational goal admirably, but
its language implementation is limited.
C-terp is a fast implementation of the
full language, but its documentation
leaves the user guessing. The Instant-C
documentation also is sparse, but this
product holds the promise of becoming
a powerful workbench for C program¬
ming, reminiscent of the environments
available for languages such as Smalltalk
and LISP. It is designed for large pro¬
gram development, and its speedy per¬
formance makes it a good prospect.
Finally, in spite of its rather slow
execution, Run/C outclasses the other
products in several important catego¬
ries, most notably its documentation,
user interface, and add-on library sup¬
port. For the present, it is the overall
best choice in a C interpreter.
C-terp 2.131: $300
Gimpel Software
3207 Hogarth Lane
Collegeville, PA 19426
215/584-4261
CIRCLE 341 ON READER SERVICE CARD
Instant-C 1.61: $495
Rational Systems , Inc.
P. O. Box 480
Natick, MA 01760
617/653-6194
CIRCLE 342 ON READER SERVICE CARD
Introducing C 1.0H: $125
Computer Innovations
980 Shrewsbury Avenue
Tinton Falls, NJ 07724
201/542-5920
CIRCLE 343 ON READER SERVICE CARD
Run/C Professional 1.0P: $250
Lifeboat Associates
1651 Third Avenue
New York, NY 10128
212 / 860-0300
CIRCLE 344 ON READER SERVICE CARD
Marty Franz is a programmer for Allen Test
Products, a division of The Allen Group, Inc.
in Kalamazoo, Michigan. He is the coauthor
(with Phillip Good) of Writing Business Pro¬
grams in the C Language (Chilton Books).
s - All IBM PC and AT programmers : —
BRADY has your
number:80286
THE IBM PC AT PROGRAMMER’S GUIDE
THE WAITE GROUP
This guide presents the nuts and bolts of program
ming the 80286 to get the most out of the ATs
power. It includes discussions of the entire intel
CPU family for perspective and focuses on IBM
BIOS to enable programmers to get the most out
of its extended services. Examples include both
assembly language and Pascal code to illustrate
software interrupts for DOS services, extended
memory access, and much, much more. $21.95
ASSEMBLY LANGUAGE PROGRAMMING
WITH THE IBM PC AT
LEO J. SCANLON
Perfect for both beginners and experienced pro¬
grammers, you’ll find everything from the basics
of computer numbering through to step-by-step
instructions for using the IBM Macro Assembler.
Clearly written, it presents logical groupings of
the entire 80286 instruction set for quicker, easier
learning along with complete coverage of BIOS
and a library of over 30 macros for faster pro¬
gramming. It also covers graphics and sound
control. $21.95 (Disk available)
80286 ASSEMBLY LANGUAGE ON
MS-DOS COMPUTERS
LEO J. SCANLON
Written for AT "compatibles,” Scanlon’s plain
English, tutorial style covers a crash course in
computer numbering, the fundamentals of
assembly language, assemblers, and the 80286’s
instruction set. The guide includes programs
for doing high-precision arithmetic, sorting,
and code conversions along with procedures
for using Microsoft’s Macro Assembler, EDLIN,
SYMDEB debugger, and LINK. $21.95
PROGRAMMER’S PROBLEM SOLVER FOR
THE IBM PC, XT, AND AT
ROBERT JQURDAIN
Here’s the ultimate reference source that
includes over 150 solutions to common
hardware-control tasks through high-level or
assembly programming or system functions.
It shows how to code for directory access, key¬
board macros, and advanced video and sound
control. Complete discussions of graphics on
the EGA, port and modem control, printer manipu¬
lation, and file operations answer just about
every question that arises in programming inter¬
faces. $22.95
Now at your book or computer store. Or order toll-free
today: In New Jersey: 800-624-0024
800 - 624-0023
BRADY COMPUTER BOOKS
c/o Prentice Hall,
P.O. Box 512, W. Nyack, NY 10994
Circle the numbers of the titles you want
below. (Payment must be enclosed; or. use
your charge card.) Add $1.50 per order for
postage and handling. Enclosed is check
for $_or charge to
□ MasterCard □ VISA.
1 (089303-580-7) 2 (089303-484-3)
Act. #_Exp. date_
Signature_
Name_
Address __
City_State__ Zip_
(New Jersey residents, please add applicable sales
tax.) Dept. 3 GR-TECJ-BM(I)
3 (089303-618-8) 4 (089303-787-7)
miiimiimmmiimmmimimmimmmimmimminti
CIRCLE NO. 159 ON READER SERVICE CARD i <2
MAY 1986
YOU CAN STRUGGLE A LOT
READ A LOT
WORRY A LOT
AND PAYA LOT
100% compatible with IBM XT. AT and PC protocols. Does not support IBM 36.
dBASE 111 PLUS is a trademark of Ashton Tate.
Datapro Report on Microcomputers is published monthly by Datapro Research Corporation.
OR NOT
t's the difference between spending time
studying your software, and spending time
developing your applications. At Microrim,
we don't think you should have to struggle
with an application generator that limits your
choices to one of everything. (Like just one
menu, and access to only one table.) Or be
forced to read through dozens of pages of tech¬
nical instructions just to figure out how the
password system protects your files.
APPLICATION DEVELOPMENT
R;base 5000
dBASE III® PLUS
Application Generator
■ Multi-table Access
Yes
No
■ Nested Menus
Yes
No
■ Custom Reports
Yes
No
■ Reviseable Applications
Yes
No
Password Security
■ Pages of Documentation
■ Usable by Nontechnical
VA
36
User
Yes
No
Automatic Protection
Against "Deadly Embrace"
Yes
No
List Price
■ Single-User
■ Multi-User
$ 700
$ 695
5 Users
$1,500
$2,385
10 Users
$1,500
$3,680
20 Users
$1,500
$7,360
We also don't think you should have to
worry about the possibility of locking up
the system when two users go after the same
record (a "deadly embrace"). Or have to pay
extra each time you want to add a user to
your database network.
That's why we built R:base™ 5000 just
the way it is. Powerful, straightforward, and
complete. (See the chart.) Which is probably
why Datapro rates it as the best DBMS on
the market, bar none.
But judge for yourself. For $9.95 (plus
shipping), we'll send you our R:base 5000
single-user demo. Or our multi-user demo
for only $50 (shipping included). Just call
1-800-547-4000 and ask for Dept. 936.
From Oregon, or outside the U.S., call
1-503-684-3000, Dept. 936.
After all, when it comes to developing
applications, you can either put yourself
through a lot.
Or not.
R:BASE 5000
FROM MICRORIM
COMPUTER GRAPHIC » DOV JACOBSON
A Data Manager:
i\ uaia iviaiiaguL.
v The Evolving
DEVELOPMENT TOOLS ^
Standard
166
PC TECH JOURNAL
Underlying all its new features
is the original dBASE, but dBASE III PLUS
has evolved into an efficient product.
T o the venerable dBASE product
line, AshtonTate’s latest addition
brings multiuser database process¬
ing for local area networks, additional
features for developers, and a new
interface for end users. dBASE m plus is
intended both for end users and for
developers working independently or
within corporations to solve database
applications needs.
Power database end users who un¬
derstand the dBASE file, index, and data
relationship concepts and structures
will find most of their wish-list items in
dBASE m plus. Independent applications
developers will miss a true source code
compiler, a more powerful report gen¬
erator, and easier programming of data
entry screens. The corporate technical
support staff will find cIbase m plus suit¬
able for developing applications for cor¬
porate users who have some training or
experience with any dBASE version.
dBASE hi plus is not revolutionary. It
is evolutionary by design, based on
AshtonTate’s view of the needs of the
marketplace, and is intended to provide
a substantial quantity of new features in
the basic mold of the existing product.
As an upgrade to the basic product,
dBASE m plus runs most existing dBASE hi
applications, extends the development
language, adds more power to the
interactive user interface, improves per¬
formance, and provides rewritten docu¬
mentation. As an evolutionary product
adding new features, it adds fresh capa¬
bilities such as networking, password
protection, data encryption, applications
generation, source code pseudo-compi¬
lation, linkage to compiled subroutines,
and runtime facilities.
As with the existing dBASE iii pro¬
gram, dBASE m plus organizes data in
files and provides commands for link¬
ing files into a database. The command
DAVE BROWNING
language includes the features of a gen¬
eral purpose structured programming
language with additional commands for
manipulation of data files. For multiuser
applications on local area networks, the
product provides file- and record-lock¬
ing mechanisms, multilevel password
protection, and data encryption. For de¬
velopers, dBASE m plus has a source lan¬
guage encrypter, linker, runtime inter¬
preter module, and interface to assem¬
bly language subroutines. An optional
interface provides easy linkage to pro¬
grams written in C. End users may en¬
ter commands directly or use the assist
mode with its point-and-select, pull¬
down menu structure. A simple, menu-
driven source code generator is in¬
cluded for single file applications.
In the single-user mode, dBASE m
plus demands a minimum of 256KB on
a dual-floppy disk or a single-floppy and
hard disk IBM PC, PC/XT, PC/AT or 100-
percent compatible machine. The
256KB configuration is a tight fit, re¬
quiring DOS 2.x with only four buffers
in CONFIG.SYS and a special dBASE
CONFIG.DB file limiting several pro¬
gram parameters. Under DOS 3.x, sin¬
gle-user operation calls for 384KB.
For local area networks the server
must be a PC, XT, AT, or compatible
with floppy and hard disks and 640KB.
The network operating system has to be
DOS 3.1 or compatible, including
Novell’s Advanced NetWare/86 Version
1.01 and 3COM’s 3Plus. Workstations
must have 384KB and at least one flop¬
py disk. Additional workstation memory
is required for IBM PC network mes¬
senger, receiver, and redirector stations.
Each dBASE m plus package includes
a network administrator program, dBASE
administrator, and one network access
program, dBASE access, at a list price of
$695. A separate IAN Pack provides
complete documentation and dBASE
access for three additional workstations
on the network for a list price of $995.
The system started shipping in January
1986, and upgrades are available for
current users of dBASE in.
dBASE hi plus is copy protected us¬
ing SoftGuard’s SuperLok, allowing di¬
rect installation on many hard disks in
the single-user mode, but not on some
network hard disks, notably those oper¬
ating under Novell software. Work¬
stations require a copy-protected key
disk for access, or the program can be
installed on a workstation local hard
disk. This key-disk, copy-protection ap¬
proach complicates network operating
procedures and provides the unwary
network administrator the opportunity
for a frustrating installation process.
MICROCOMPUTER ROOTS
Although some other data managers for
PCs have migrated downward from
mainframes or minicomputers, dBASE in
plus has its roots firmly embedded in
microcomputers. dBASE has evolved
from a command-driven file manager to
a powerful relational data manager, and,
according to AshtonTate, has an envi¬
able worldwide installed base of more
than 530,000 dBASE n and m users.
Earlier versions of dBASE have been
used for almost every type of database
application, due in part to its being one
of the first data manager programs
available for the IBM PC and compati¬
bles. Powerful alternatives have since
been developed, and many of the new
features in dBASE m plus reflect Ashton¬
Tate’s response to the competition.
Because of its microcomputer
background, dBASE iii plus interfaces well
with DOS. The RUN command executes
DOS commands such as DIR and COPY,
COMMAND.COM, and other .EXE and
MAY 1986
167
dBASE IU PLUS
FIGURE 1: Interfile Relationships
. SELECT 2
. USE AUTHOR INDEX AUTHOR
. SELECT 1
. USE ARTICLE INDEX ARTICLE
. SET RELATION TO UPPER(AUTH0R_1N+AUTH0R_FN) INTO AUTHOR
. DISPLAY STATUS
Currently Selected Database:
Select area: 1, Database in Use: C:ARTICLE.dbf Alias: ARTICLE
Master index file: C:ARTICLE.ndx Key: STR(VOLUME,1,0)+STR(NUMBER,2,0)
Related into: AUTHOR
Relation: UPPER(AUTHOR_LN+AUTHOR_FN)
Select area: 2, Database in Use: C:AUTHOR.dbf Alias: AUTHOR
Master index file: C:AUTHOR.ndx Key: UPPER(AUTHOR_LN+AUTHOR_FN)
The SET RELATION TO command relates the Article file to the Author file through the author’s last and first names (concaten¬
ated and converted to uppercase.) As the Article file is scanned, the Author file will be automatically positioned to the appro¬
priate record, thereby making data, such as the author’s address and phone number, available.
.COM programs and batch files. Parame¬
ters are passed on the command line to
the executed program or batch file. The
RUN command can be used at the inter¬
active dot prompt or from within dBASE
programs. A common use of this feature
is to embed a communications program
within a dBASE application. When the
application is ready to connect to an¬
other computer for data transfer, the
communications program is executed
directly or through a batch file. Pro¬
grams executed with RUN can exist any¬
where in the DOS directory tree as
long as the DOS environment contains
a path to them and COMMAND.COM is
available on the drive specified by the
DOS COMSPEC parameter.
The DOS interface also allows the
user to install a favorite text editor for
command file programming and a sepa¬
rate word processor for editing of vari¬
able length memo fields. The names of
the programs to be used are placed in
the CONFIG.DB file with commands
TEDIT=<editor file name> and
WP=<word processor name>. This
provides a closer coupling than RUN,
because dBASE automatically passes the
command file name to the editor and
the name of a temporary file containing
memo field text to the word processor.
No specific interface is defined for
the return of data to the dBASE applica¬
tion from programs executed by RUN.
However, a general purpose database
file may be used to append text lines
from an external program s output file.
The dBASE application then is able to
parse the lines in this file.
Binary files of up to 32,000 bytes
each, produced from assembly language
programs, may be loaded and called
from within dBASE ill plus. Individual
files may be loaded and released as
long as no more than five are in mem¬
ory at the same time. Additional mem¬
ory above the 236KB minimum is re¬
quired for these files and should be re¬
served with a MAXMEM statement in the
CONFIG.DB file to prevent loaded mod¬
ules from being overwritten when RUN
executes external programs. The CALL
statement accesses the loaded binary
files and may pass an expression or
dBASE memory variable address.
dBASE’s roots in microcomputers
and DOS are the source of one major
handicap. DOS files and I/O have been
used to manage all of the dBASE file
types, and the DOS limitation of 20 files
(including those reserved by DOS) that
can be simultaneously open per process
is rapidly reached in large or complex
applications.
This file count restriction can be
alleviated somewhat by grouping pro¬
grams into procedure files. Up to 32
subroutines identified by the key word
procedure may be combined in a pro¬
cedure file, only one of which may be
open at a time. Whenever the file is
opened, dBASE must identify the starting
position for each subroutine in the file,
creating some processing overhead.
Procedure files can be used to offset
some of the DOS file limitations, but a
penalty is paid in speed if they are fre¬
quently opened and closed.
Other data managers have super¬
imposed their own custom file manage¬
ment approaches on top of DOS to pro¬
vide freedom from this restriction, but
these methods also have disadvantages
due to their unconventional use of the
DOS file structure.
Developers who need to find out
the operating environment of the target
machine executing dBASE can choose
from several functions. Function calls
can retrieve the name of the operating
system, the dBASE hi plus version, the
number of available function keys and
their labels, available space on the de¬
fault drive, and the DOS environment
parameters such as COMSPEC or PATH.
DATABASE DESIGN
In dBASE m plus, data are stored in files
of fixed-length records, with optional
auxiliary files for variable-length text
linked to the main file through memo
fields. Separate index files establish log¬
ical sequences on data files and can use
complex formulas on combinations of
fields and virtual fields.
Ten work areas are available to
open data files with associated indexes,
screen formats, and filters. Linkage can
be established between data files in dif¬
ferent work areas to implement features
of the relational model of data manage¬
ment. As the master file is manipulated,
the subordinate file is automatically
positioned in response to the content of
the current record in the master file.
dBASE m plus goes beyond a simple
field-linkage model, because complex
interfile relationships between two data¬
base files can be established using
formulas on combinations of fields and
virtual fields in both files. This is a
powerful feature for data retrieval that
often obviates generation of interme¬
diate files through joins.
A simple example of files related
through a formula is shown in figure 1.
The database files are opened with their
associated indexes, the Article file in
work area 1, the Author file in work
area 2. The formula for the index on
the Author file concatenates the last and
first name fields and takes the upper¬
case of the result. (The uppercase func¬
tion is often used in index formulas to
make data retrieval insensitive to alpha¬
betic case.) As a scan is performed of
the Article file, dBASE automatically posi¬
tions the Author file to the correspond¬
ing record. Similarly, the relationship
could be changed to operate from the
coauthor’s name in the Article file. Au¬
tomatic retrieval of both author and
coauthor addresses is not possible, be¬
cause only one relationship is allowed
per work area. This is a significant limi¬
tation that requires substantial coding to
overcome for many applications, such
as those with several data files related
to a single master employee file. How¬
ever, multiple files can be related in a
chain in which the first file relates into
a second file, and the second file relates
into a third file, etc.
Formulas for relationship defini¬
tions can be quite complex and data de-
168
PC TECH JOURNAL
pendent. Numeric field data may be
arithmetically combined, converted to
character, and concatenated with con¬
verted dates, portions of other fields, or
literal values. For example, a relation¬
ship formula could determine which tax
rate record to extract from a tax table
file based on a threshold calculated
from income value in the primary file.
The implementation of index oper¬
ations in dBASE m plus is one of its
strongest features. Index files are of the
B+tree type, and the formula used to
define the sequence may operate on
fields, portions of fields, and virtual
fields up to a maximum of 100 charac¬
ters. Functions may be nested in the
indexing formula to convert dates to
strings, extract portions of strings, and
convert numeric formulas to strings for
concatenation into the index. The con¬
ditional IIF (immediate if) function may
even be used within an index file
formula to choose argument data based
on record content. The IIF function
takes a conditional expression followed
by two value expressions and returns
the first value expression if the condi¬
tional expression evaluates to true, and
the second value expression otherwise.
For example, the following command
creates an index that combines data-de-
pendent home or work zip codes into a
single sequence:
INDEX ON IIF (MAILFLAG = “H”, HOMEZIP,
WORKZIP) TO ZIPINDEX
Each data file may have an unlim¬
ited number of index files associated
with it, and up to seven index files for
an active file may be open at one time.
All open index files are updated auto¬
matically when fields are changed in
the data file, and index files may be
created or reestablished at any time. An
index file may be designated UNIQUE
at creation, and entries will point only
to the first occurrence of records that
have duplicate keys.
Facilities are available in dBASE m
plus for saving retrieval scenarios for
later use. Once work areas, files, in¬
dexes, relationships, and field lists have
been established for a specific scenario,
the set-up information can be saved in a
view file. A view can be created inter¬
actively or captured with the CREATE
VIEW FROM ENVIRONMENT command.
A view file contains the names of the
open database files, any open index
files, associated work areas, interfile re¬
lationships, and selected fields from
each data file. One screen format file
name and one filter condition can also
be saved. The view can be reestablished
using SET VIEW TO <viewfile>.
This concept of views into a data¬
base is new to the dBASE line, and pro¬
vides a powerful applications develop¬
ment tool. The designer can define a
database file structure, indexes, and re¬
lationships, and can provide a data edit
screen without programming. Care
must be taken to ensure that file rela¬
tionships are one-to-one or many-to-one
because dBASE m plus has no capability
for automatic retrieval of duplicate rec¬
ords in one-to-many situations. The
field list must also be established to
prevent changes to fields used in in¬
dexes that form the relationships. These
constraints are not necessarily overly re¬
strictive for many applications, espe¬
cially in situations where data retrieval
or maintenance of relatively static rec¬
ords is the primary operation.
One suitable application might be
a database of personnel records with
data files indexed on employee num¬
ber. Medical benefits can be kept in
one file, salary information in another,
resume and job descriptions in others,
etc. Custom programs will need to be
written to handle the more complex
source runt
Pascal
Program
faster,
debug faster
can
Source Formatting Utility
For C, Pascal, BASIC, dBASE H, III, ID*, Modula-2
Everything you’d expect...
Index/Cross reference. Useful for locating identifiers
in source listings when you are away from your editor:
SOURCE PRINT™ can list line and page numbers of all
occurrences for each alphanumeric identifier.
Page headings and line number. SOURCE PRINT gives you page
headings which include current and file date/time, page number,
and source line-number range. Lines may be numbered if desired.
Table of contents. You may imbed titles and subtitles in your
source text; SOURCE PRINT can then generate a table of contents.
Titles and subtitles will also appear on page headings.
Automatic indentation. SOURCE PRINT can automatically indent source
listings based on control-structure nesting if desired. Also, your source file c
be automatically re-indented.
Printer control. Extensive control of your printer’s features: size, font, emphasis,.,
Plus these new tools...
Program structure outlining. SOURCE
PRINT can draw lines to connect the beginning and end of
nested control structures. Even complex structures stand
out clearly.
Key words emphasis. Emphasize key words in your pro¬
gramming language with styles your printer supports: bold¬
face, underline,...
Extraction of routines. SOURCE PRINT can extract
selected subtitled procedures or functions from one or
more source files to form a new source file.
Printing selected routines. Save time and paper by
printing only part of a file, using the above extraction method.
... all in one utility program!
Easy to use, one-line commands. All combinations
of features can be specified on a
single command line!
For IBM PC, PC-XT, PC AT,
compatibles, floppy or hard drive;
>192K RAM, DOS 2 or 3. Not
copy protected.
o.i, *97 00
plus $5 handling & shipping
CA residents add tax
30-Day unconditional
money-back guarantee
VISA, MC, AmEx
Immediate delivery
Dealer inq. invtd.
Order Source Print
by phone:
800-257-5773
(outside CA)
800-257-5774
(within CA)
Call for technical brochure
Aldebarari
Laboratories Inc
Developers of High-speed
Professional Software
3738 Mt. Diablo Blvd., #312
Lafayette, CA 94549
(415) 283-7084
SOURCE PRINT is a trade¬
mark of Aldebaran
Laboratories, Inc.
dBASE II, III, & III*
are trademarks of
Ashton Tate.
CIRCLE NO. 109 ON READER SERVICE CARD
MAY 1986
169
dBASE HI PLUS
events such as adding or terminating an
employee, but daily maintenance of
non-key data and routine reporting can
be set up with a series of views.
In addition to the view hie and
associated commands for establishing a
database environment, an interactive
query feature helps the user create and
save nested conditional queries. A query
is a formula defining a subset ol the
data in a database. It is considered to
be a filter condition that can be saved
in a hie and then invoked with
SET FILTER TO FILE <queryhle> or
SET FILTER TO <condition>. Retrieval
scenarios may be predefined in terms
of view and query hies and easily in¬
voked for periodic report purposes.
dBASE m plus hie structure is based
on fixed-length data elements and is
poorly suited to applications involving
variable length text. dBASE m plus alle¬
viates this problem with the memo
held. Fields of this type contain pointers
into an associated text hie, which is
linked automatically to the main file.
Data space in the associated memo
text hie is allocated in 512-byte seg¬
ments chained together as necessary to
provide storage for the individual
memo helds. Only one associated text
hie is required even if more than one
held in the primary database hie is of
the memo type. Data are entered with
the dBASE m plus word processor (or
one that is linked to the data manager)
and can be displayed or printed only
with the DISPLAY, LIST, and ? com¬
mands (the single question mark means
show) or within the report writer. Be¬
cause the dBASE language has no provi¬
sion to move memo held text through
memory variables, it cannot be manipu¬
lated, searched, or checked under pro¬
gram control. Reports programmed
without using the report writer cannot
print text data from memo helds. These
restrictions limit the use of these helds.
DATA ENTRY, UPDATE, INTEGRITY
Entry of data into a multifile database is
not as simple as data retrieval. Because
of the method of linking files through
indexes on fields, empty records cannot
be automatically inserted into related
hies for data entry without disrupting
the record positions. Editing of data
fields involved in the linkage formulas
is also certain to cause problems. A full¬
screen data form may be easily defined
and saved for single file-data entry and
multiple file-data retrieval, but full¬
screen data entry to multiple files with
simultaneous table look-up and data
checking usually requires a substantial
amount of programming effort.
Make your PC or AT into a
COMMUNICATING WORKSTATION
for only $85
Use ZAP , the Communications System for Technical Users
COMPLETE Communications for PROGRAMMING and ENGINEERING
EMULATION of graphics and smart terminals is combined with the ability to TRANS¬
FER files reliably, CAPTURE interactive sessions, and transmit MESSAGES while
also being able to swap between your mini or mainframe session and your PC application.
SUSPEND a line to run a PC application. Reconfigure features to fit the communications
parameters and keyboard requirements of the host computer software. Complete technical
documentation helps you understand and fit ZAP to your style.
HIGHLIGHTS OF ZAP:
• Emulate TEKtronix 4010/14 and DEC VT 100, 102,52 including
variable rows and columns, windows, full graphics, even half tones.
• Reliable file transfer to/from any mainframes and PCs including KERMIT and
XMODEM protocols plus you get a full copy of KERMIT. Transfer speeds ranging
from 50 to 38,400 BAUD. Session control include printer dumps and save to
disk.
• MACRO and Installation files ('‘scripts”) controllable by you.
• EMACS, EDT and VI “Script” files are included. ZAP is also used with other popu¬
lar software including graphics products like DISSPLA and SAS/GRAPH.
• CONFIGURABLE to communications, terminal features on the “other end”; 1,2
stop bits; 5,6,7 or 8 data bits; parity of odd, even, none, mark and space; remap all keys
including the numeric pad and standard keyboard, set any “virtual” screen size.
• Full PC/MSDOS access to run any command or program that will fit in your systems
memory. ZAP takes less than 64K.
• 9 Comm ports are supported by ZAP. Plus full color in text and graphics make use of
the IBM color, EGA cards, or Hercules Monochrome.
ONLY
$85
-Solution
Systems
335-P Washington St
Norwell, Mass. 02061
617-659-1571
800-821-2492
dBASE in plus assumes a full-screen
edit approach for data entry. An internal
default data entry screen is provided for
each data file based on held definitions
in the file. The underlying concept of
all dBASE data entity is that fields are
defined on the screen using the
@ <row>,<col> GET <variable>
commands and then collected simulta¬
neously with the READ command. The
user enters data to the fields on the
screen with standard dBASE cursor com¬
mands and can move about the screen
until the last field is exited by pressing
either the Enter key or other special
keys such as Ctrl-End. At this point, the
data are made available to the data en¬
try program. They may be entered di¬
rectly to data file fields or to program
memory variables.
A basic flaw in this approach is that
data entered by the user are not avail¬
able until READ is executed. Automatic
table look-up is not provided, and the
programmer cannot use the data from
individual fields as they are entered. A
READ can be executed after each field
is defined with @...GET, but this
interferes with the full-screen editing
capability. An INKEYQ function traps
keystrokes, but it bypasses editing func¬
tions normally supplied by dBASE. Cus¬
tom data entry screens with on-screen
calculations and table look-up require
significant programming skills.
The screen implemented for the
sample application is a good example
of a custom screen. (The sample appli¬
cation was developed by PC Tech Jour¬
nal editors for this series on data man¬
agers. For a complete description, refer
to “Sample Application Specifications,”
August 1985, p. 48. The article is also
available for downloading on PCTECH-
line.) Properly implemented, more than
200 lines of dBASE program code were
required to support the data checking,
table look-up, and entity of data into
multiple related files. Some of the code
and logic allowed the program to be
used for data editing as well as entry.
For applications in which the dBASE
format file approach is acceptable, at¬
tractive custom screens can be gener¬
ated quickly with the MODIFY SCREEN
command. An interactive screen paint¬
ing facility allows the designer to move
fields around, insert prompt text, draw
boxes, and establish data range and
field editing specifications. The painted
screen automatically produces a special
format file containing standard dBASE
program statements to collect the data
from the screen. The only statements al¬
lowed in a format file are @...SAY...,
@...GET... commands or up to 32 READ
170
CIRCLE NO. 130 ON READER SERVICE CARD
PC TECH JOURNAL
statements, which cause cJbase to exe¬
cute the file as a multiple screen pro¬
gram. Each READ defines the end of a
screen, with the PgUp and PgDn keys
used to swap screens. The screen gen¬
erator creates a file with the extension
.SCR. The format file may be edited the
same as any other dBASE program file,
but the .SCR screen definition file can
be changed only with MODIFY SCREEN,
causing the format file to be recreated
entirely. The screen generator saves
substantial programming by creating the
@...SAY/GET statements for incorpora¬
tion into custom programs.
Data integrity is the responsibility
of the user or programmer. dBASE m
plus contains no automatic transaction
processing or audit history feature, but
data file headers are updated with the
date of last file modification, retrievable
via a function call. Applications that re¬
quire transaction processing can be de¬
veloped using temporary data files as
input buffers, with posting accom¬
plished separately. This technique also
eases the problem of entry into multi¬
ple related files, because all fields can
be defined in one file for data entry,
with the posting process performing the
updating of the related files.
STRUCTURED LANGUAGE
The dBASE in plus language provides
commands to support structured pro¬
gramming constructs, create and manip¬
ulate data files, accept data entry, dis¬
play and edit data, interface with the
user, and communicate with external
programs. dBASE is an interpreted lan¬
guage, and a compiler is not provided
by Ashton-Tate. Third-party compilers
are available for earlier versions of
dBASE, but they have not yet imple¬
mented the new features of dBASE in
plus. An encrypter and linker are pro¬
vided with the package for source code
compression and protection. The dBASE
in plus program can execute combina-
j tions of raw, encrypted, and linked
| source code. A RunTime+ module can
j execute encrypted, or encrypted and
l linked, code and is intended for turn-
i key applications. Some reasonable re¬
strictions apply to code that is intended
for execution by RunTime+ modules.
They are not copy protected.
Structured programming is imple¬
mented via DO WHILE/ENDDO loops,
with LOOP and EXIT commands for
control within loops, IF/THEN/ELSE and
DO CASE/CASE/OTHERWISE/ENDCASE
conditionals, and DO <subprogram
ftle>/RETURN for subroutines. Param¬
eters can be passed to and from sub¬
programs. Each program/subprogram is
contained in a separate file unless
grouped in a procedure file. Event trap¬
ping and branching is handled by the
ON ERROR/ESCAPE/KEY <command>
settings. When set, an error causes an
immediate execution of the specified
command, which may call a separate
program. Two commands, RETURN and
RETRY, return control to the calling
program. The first returns control to
the statement after the call, while the
second reexecutes the calling com¬
mand. Error trapping occurs for errors
identified by dBASE m plus, not for
errors at the operating system level.
Up to 256 temporary memory vari¬
ables may be simultaneously active, and
storage for variables may be adjusted in
the CONFIG.DB file. Public and private
memory variables can be established
for all data types except memo, and are
implicitly declared when data are
assigned to the variables. Data assign¬
ment to memory variables is via the
STORE <value> TO <variable>, which
may be shortened to <variable> =
<value>. Memory variable names are
up to 10 characters in length, as are file
field names. Ambiguities between mem¬
ory variables and field names can be
resolved by prefixing the name with
M —> (for memory), or the data file
alias for field names. Memory variables
may be saved to and restored from
files. Assignment of data to fields in
database files is accomplished with the
command REPLACE <field name>
WITH <value>. Incidentally, this com¬
mand has no short form.
The private attribute for memory
variables is implemented in an unusual
fashion; variables declared private re¬
main available to subprograms called
from the program declaring the vari¬
able, but are not available after the re¬
turn to upper levels. In effect, a subpro¬
gram can protect the variables of the
programs above it, but cannot protect
itself from subprograms it calls. Public
variables are available to all programs at
any level, including the direct command
level. The default attribute is private, so
all variables at and below the current
subprogram level—except those de¬
clared public—are released upon re¬
turn to the higher-level calling program.
More than four dozen parameters
may be set on, off, or to specific values
to modify the internal dBASE environ¬
ment. For example, SET DEFAULT TO
<drive> changes the default drive
within dBASE (but not the DOS default
drive), SET COLOR TO <value> con¬
trols screen display attributes, SET
ESCAPE ON/OFF permits or denies the
user program interruption privileges,
LOOKING FOR AT
PERFORMANCE
FROM YOUR PC?
Jearth HAS IT FOR
I LESS THAN $1,000!
f
t
iYOUR SEARCH IS OVER!! EARTH
COMPUTERS’ exciting new high¬
speed, 80286 accelerator card,
TurboACCEL-286™ , is just what you’ve
been looking for. The TurboACCEL-
286 will boost your PC performance up
to Five times...its completely software
transparent...and its only $995!
TurboACCEL-286 will fuction with
most operating systems and application
programs (unlike other so-called
[accelerator boards).
The TurboACCEL-286 features a
high-speed, 8MHz, 80286 processor,
512Kbytes of RAM (expandable to
1 Mbytes), a switch for8088 operation,
and facilities for an 80287 math co¬
processor. It occupies one expansion
slot, is completely compatible with
most PCs and is software transparent.
End your search for AT performance.
Order the TurboACCEL-286 today!
Call or write:
EARTH COMPUTERS
P.O. Box 8067, Fountain Valley, CA 92728
TELEX: 910 997 61 20 EARTH FV
(714) 964-5784
Ask about EARTH COMPUTERS’ other
fine PC and S-100 compatible products.
MAY 1986
CIRCLE NO. 212 ON READER SERVICE CARD
At last! - Fast , On-screen
FLOWCHARTS
And Organization Charts
Finally! An on-screen flowchart proc¬
essor that knows about flowcharts and
organization charts - not just another
“screen draw” program that makes you
do most of the work.
Interactive EasyFlow is a powerful
full-screen graphics program dedicated
to flowcharts and organization charts.
With this program you can quickly com¬
pose charts on the screen. More im¬
portant, you can easily modify charts so
they are always up to date.
Features: • Text is automatically
centered, character by character, within
shapes as you type it • Text formatting
controls allow you to over-ride the auto¬
matic formating where desired • Lines
are created by specifying the starting
and ending points - the program auto¬
matically generates the route • Power¬
ful editing facilities allow shapes and
even entire rows and columns of shapes
to be inserted or deleted; lines are auto-
matically re-routed as necessary
• Large chart size (up to 16 shapes
wide by 16 shapes high) allows very
large flowcharts and organization charts
to be handled with ease • Charts can be
larger than the screen - the window into
the chart scrolls both horizontally and
vertically as necessary • Flexible print¬
er interface allows it to work with all
printers, not just dot matrix printers.
Wide charts can be printed in strips Also
works with Hewlett-Packard 7475A (and
compatible) plotters • Twenty standard
flowcharting shapes included • Com¬
mon shapes supplied in three sizes
• Extensive manual (125 pages) in¬
cludes many examples • Context
sensitive “help” facility provides im¬
mediate assistance at any time • Any
number of titles can be placed on a chart
• Commentary text blocks can be
placed anywhere in the chart • Fast:
written in 8088 assembler • Plus many
more features than we can mention
here.
Requires at least 256K memory, DOS-2
or higher and an IBM or Hercules com¬
patible graphics card.
Order direct for only $149.95 + $2.00
S&H (USA/Canada), $10.00 (foreign).
Payment by MO, check, VISA, COD or
Company PO. Rush orders accepted
($15.00 S&H; USA/Canada only). Rush
orders received by noon will be delivered
the next business day (to most
locations).
The sample screen display shown below is typical of
what you see while editing a chart. Other screen dis¬
plays are provided for entering titles, changing
options, getting “help” and so on.
STATUS BAR (not to be
confused with a wet bar) tells
you what Interactive EasyFlow
is doing at all times.
TEXT/MESSAGE
WINDOW used to enter
user text and to display
messages from Interactive
EasyFlow.
CURRENT SHAPE
WINDOW - shows the ^
content of the current
flowchart shape (the one
under the SHAPE
CURSOR) in complete
detail.
\
CHART WINDOW gives an overview of your chart; this
example shows the "normal" view. “Close-up” view shows a
smaller part of the chart in more detail. “Wide-angle" view
shows a larger part of the chart at reduced size.
Shape request - M6
D Is entry - valid *?*|
HavenTree Software Limited
P.O. Box 1093-N
Thousand Island Park, NY 13692
(613) 544-6035 ext 48
CIRCLE NO. 113 ON READER SERVICE CARD
SHAPE CURSOR shows where you are in
the chart. Cursor keys move it around; chart
window scrolls if you run off the edge of the
window.
dBASE III PLUS
and SET FORMAT TO <filename>
opens a data entry screen file. From the
interactive level dot prompt, the com¬
mand DISPLAY STATUS shows param¬
eter settings, but these settings cannot
be determined from within command
files. For large applications in which
several programmers may be develop¬
ing separate modules, the inability to
test the dBASE environment upon sub¬
program entry means that programmers
cannot determine which parameters
must be reset within the subprogram.
dBASE hi plus offers several power¬
ful data file manipulation commands,
which can process an entire file with
conditional subset selection within the
command. For example, the command
REPIACE REST VENDORNAME
WITH ’ACME’,
UNITPRICE WITH UNITPRICE *1.1
FOR ITEM = PART#3126’
WHILE VENDORNO = T23’
begins at the current record and con¬
tinues, record by record, until the end
of file is reached, or until the VENDER-
NO field changes from the value 123.
Whenever a record is encountered in
which the item field contains the valu.e
PART#3126, the UNITPRICE field value
will be increased by 10 percent, and the
VENDORNAME field changed to ACME.
When multiple files are related and a
field list has been established with the
SET FIELDS command, REPLACE can
change values in more than one file at a
time. Care should be taken not to
change values in fields that would affect
the active index sequence, because this
will disrupt the logical sequence of the
records during the execution of the
REPLACE command, and records may
be inadvertently skipped.
Database files may be created
under program control from other data¬
base files by copying all or selected
fields from an existing file. In addition,
the field definitions of a database file
may be stored as data in another file
with the COPY STRUCTURE EXTENDED
command and modified in the same
way as any other database file; a new
database file can be created with the
CREATE FROM command.
In addition, JOIN and TOTAL cause
the creation of database files. The latter
creates a summary database file from a
sorted or indexed file, with numeric
fields automatically totaled into a sum¬
mary record for groups of records hav¬
ing the same key field.
Nearly six dozen functions are pro¬
vided to test the environment, modify
memory variables, perform mathemat¬
ical and format transformations, con-
172
PC TECH JOURNAL
vert data types, and manipulate dates.
Two of the more interesting are the
IIF(<logical expression>,<result if
expression is true>,<result if false>)
function mentioned above, and TRANS¬
FORM, which converts numeric and
character data through a picture format;
it inserts commas, dollar signs, and sim¬
ilar characters in the displayed value.
This function can be used in the report
writer to make the numbers more
attractive, but the transformed values
are no longer numeric and cannot be
automatically totaled or subtotaled.
dBASE hi plus uses floating-point
internal representation for numeric val¬
ues, providing 15.9 digits of accuracy
for arithmetic computations (die user
can depend on 15-digit accuracy and
can sometimes achieve 16). To limit the
incorrect comparison of numbers
caused by the inexact floating-point rep¬
resentation, numeric comparisons are
performed only to the 13th digit.
Rounding errors are still possible and
may affect comparisons after about
2,000 iterations. Programs that save run¬
ning totals should replace the value
with the combined VAL(STR(<num-
ber>)) within the 2,000 iterations to
maintain accuracy in comparisons. This
is an inconvenience in business applica¬
tions that is not found in data managers
with character or binary-coded decimal
numeric data types and arithmetic.
A ROUND function is provided, but
negative values are rounded to the next
integer in the positive direction; there¬
fore, rounding should always be accom¬
plished on the absolute value of the
number. The MOD function performs
modulo arithmetic; when one or both
of the arguments is negative, however,
the result should be tested because it
may not be what is expected.
Because dBASE is an interpreted
language, sophisticated macro expan¬
sion is possible. Simple macro expan¬
sion using the & operator is useful for
parameterizing programs, as in
USE &DDRIVE.DATAFILE INDEX
&IDRIVE.INDXFILE
where the memory variables DDRTVE
and IDRIVE contain values such as C: or
B:. The period delimits the end of the
memory variable name to prevent ambi¬
guities. Sophisticated macros may gen¬
erate full dBASE commands, as in
&DOIT, which might expand to
DO SUBPROG WITH \T.\ PARM2, VALUE
This type of macro is not supported by
the RunTime + interpreter and probably
should not be used if the code is ever
going to be maintained.
dBASE hi plus provides a tool called
a data catalog to organize files in an
application. A catalog file is a database
file with a .CAT extension and a specific
structure. dBASE automatically opens a
catalog in work area 10 and maintains
its records in response to the process
of creating and erasing files associated
with the application. Fields in the cata¬
log record for each file contain the
path, file name, alias, file type, a user-
entered title, a code relating files to the
data file from which they were created,
and a user-specified tag. The file types
and default file-name extensions that
are automatically maintained in the cata¬
log are the following: data (.DBF), view
(.VUE), format (.FMT), index (.NDX),
label (.LBL), query (.QRY), report form
(.FRM), and screen (.SCR).
When a catalog is open in an appli¬
cation, it may be queried during inter¬
active command operations to deter¬
mine available files applicable in the
current context. For example, after
opening a data file with the USE com¬
mand, the command SET INDEX TO ?
displays a menu of all cataloged index
Why debug your Program in
Assembly Language when you
wrote it in one of these...
Without source level debugging, the
programmer must spend time mentally
making translations between assembly
language and the C or Pascal in which the
program was written. These tedious trans¬
lations burn up valuable time which
should be spent making critical product
schedules. Lower level debugging tools
are superseded by Atron’s SOFTWARE
SOURCE PROBE. This is the debugging
tool used by professionals. Why? —
Because it has the features they need to
solve complex debugging problems.
SOFTWARE SOURCE PROBE has the
same command interface as the Atron
hardware assisted software debuggers —
so you can fill your lab with compatible
debugging tools and minimize new learning.
How To Single Step Your
Source Code And Keep Critical
Data In View
With SOFTWARE SOURCE PROBE, you
can step your program by source code
statements. While stepping, a window which
you define can display critical high level
data structures in your
program. The next
several source code
statements are also
displayed to give you
a preview of what the
program will do.
Software
Probe Source
How To Display Data In
Meaningful Formats
Why look at program data in hex when you
defined it to be another data type in your
program SOFTWARE SOURCE PROBE
provides a formatted print statement to
make the display of your variables look like
something you would recognize. You can
specify data symbolically, too.
Solving The Tough Bugs
When the others fail, SOFTWARE
SOURCE PROBE keeps on debugging.
When you need isolation between the
debugger and the program — you get
screen switching, dual monitor support, or
you can run the debugger from a totally
separate CRT. When you need to get out
of a program lock up state — you get
recovery through the optional crash
recovery switch box. When you want to
trace a procedure calling sequence — you
get a command to unthread stack nesting.
When you want conditional sequential
breakpoints — you get powerful LOOP,
LOOP COUNT and IF/THEN/ELSE debug
commands. When you want to build
complex command sequences, you get
Macro commands. And when you need an
affordable debugging tool — you get
SOFTWARE SOURCE PROBE — s 129
CRASH RECOVERY SWITCH BOX — $ 99.
Then when you want to optimize the
performance of your program — get Atron’s
SOFTWARE PERFORMANCE AND
TIMING ANALYZER (also s 129). It gives
you histograms of your executing program,
counts events, and shows you all the
execution times of given procedures.
So why waste
more time.
Call Atron and
gat one of our
BUGBUSTERS
today...
20665 Fourth Street • Saratoga
THE DEBUGGER COMPANY
CA 95070 • 408/741-5900
CIRCLE NO. 249 ON READER SERVICE CARD
MAY 1986
173
dBASE UI PLUS
files previously created from the open
data file. The catalog concept is useful
for managing the multitude of files
usually created for an application.
An interpreted language has a sub¬
stantial advantage over compilers dur¬
ing the debugging process, and dBASE m
plus provides features to enhance this
advantage even further. Commands en¬
tered at the dot prompt are saved in a
last-in, first-out history buffer and can
be recalled, edited, and reexecuted. The
history feature may be set on or off and
the size of the buffer changed with a
SET HISTORY command. The default
size provides space for 20 commands. A
feature called DOHISTORY traps com¬
mands executed from program files
into the history buffer for analysis.
Command file programs can be exe¬
cuted in single-step mode and observed
during execution with SET ECHO and
SET DEBUG facilities.
Programs can be suspended and
resumed with breakpoint SUSPEND
commands that are embedded in the
program, or the Escape key may be
used to interrupt operations. While the
program is suspended, the current
status of all memory variables, file posi¬
tions, and parameter settings is available
for review. The suspended command
file cannot be modified, and any modifi¬
cations to memory variables should be
attempted only with caution. The sus¬
pended program either may be re¬
started with the RESUME command, or
it may be canceled.
Performance issues are important
when discussing an interpreted lan¬
guage. A compiler would provide sub¬
stantial speed increases for many dBASE
programs. Programs using the data file
manipulation commands wherever pos¬
sible to process large amounts of data
do not show as much improvement be¬
cause disk I/O will probably be the lim¬
iting factor. dBASE m plus performance
suffers most when many memory vari¬
ables are manipulated in loops.
SORTING AND INDEXING
The two methods used to impose a se¬
quence on database files in dBASE nf plus
are sorting and indexing. Historically,
dBASE sorting has been excruciatingly
slow, but dBASE in improved the sort
performance by orders of magnitude,
and the indexing performance substan¬
tially, so that sorting became a viable
alternative for some operations. The
performance improvement in dBASE m
plus is claimed to be a factor of 10 over
dBASE m for indexing, and a factor of 2
for sorting. This relegates sorting to the
backseat again for all operations except
those that require processing the entire
file in sequence.
If an index sequence is required
for data maintenance operations as
well as for reporting, then the index
should be maintained as data are added
and updated. When a sequence is nec¬
essary for reporting only, the time taken
to create the index at report time may
be offset somewhat by the operational
simplification of maintaining one less
index file.
Indexing formulas can combine
fields and functional transformations of
fields, whereas sorting is on a field-by-
field basis to a maximum of 10 fields.
However, creating an index for reverse
alphabetical sequence would be diffi¬
cult, whereas the sort can do this easily,
optionally ignoring alphabetic case.
Space requirements for sorting and
indexing are not easily compared. Sort¬
ing creates a copy of the file, so the
necessary storage can be determined.
Storage requirements for a B+tree in¬
dex can only be approximated, and the
formula depends on key size and num¬
ber of records. Index files can exceed
THE BEST JUST GOT MUCH BETTER
he Greenleaf
Functions v3.0 Is
Bigger and Better!
Over 225 functions — DOS,
disk, video, graphics, string,
time/date, equipment determina¬
tion to name only a few. New
disk status and Ctrl-Break control
functions! Exciting new features
include automated installation,
all memory model library files
now supplied, identifier length
options supported, and more.
Twenty new functions added in
v3.0 Don’t re-invent the wheel;
get your copy today!
he Greenleaf
Comm Library
v2.0 is Here Now!
Over 120 all new functions —
interrupt driven communications
on up to 16 ports simultan¬
eously, XMODEM, X0N/0FF, send
and receive with confidence that
only this fully bufferred system
brings. New easy installation, all
memory models, new Ctrl-Break
immunity, keyboard functions,
lots more. All new manual and
demos. Many examples make it
easy to use, too!
Both available now from your dealer or
Greenleaf Software, Inc.
Greenleaf Comm Library v2.0 $185
Greenleaf Functions v3.0 $185
Lattice C Compiler v3.0 $395
Microsoft C Compiler v3.0 $295
Computer Innovations C86 $349
Mark Williams MWC86 $475
Add $5.00 per unit for ground
shipping.
Master Card, VISA accepted.
All libraries contain full source
code, complete professional
documentation with many
examples, applications and func¬
tion selection information, a
reference card, access to bulletin
board, and a subscription to
The Greenleaf Chronicles
newsletter. There are no
royalties. All prices subject to
change.
For more information call:
ireenleaf
Software, Inc.
2101 Hickory Drive
Carrollton, TX 75006
214/446-8641
174
CIRCLE NO. 105 ON READER SERVICE CARD
PC TECH JOURNAL
the size of the data file if the key is
lengthy, but complexity of the key
formula has no effect on index file size.
REPORTING
Other data managers incorporate data
selection and organization in the re¬
porting process, but in dBASE m plus, the
functions of setting up the data for re¬
porting (opening and sorting files) are
separated from report production. Se¬
quencing and filtering operations, with
indexing, sorting, joining, queries, and
custom programs, are usually per¬
formed prior to report production, es¬
pecially when the internal report writer
is used. The command to execute a pre¬
defined report or label form may con¬
tain FOR and WHILE clauses to select
data for reporting, but file opening and
indexing or sorting must have been
previously accomplished.
The report generator produces col¬
umn-oriented reports with a maximum
of two breakpoint levels. The report
form file is generated interactively with
the command CREATE REPORT <report
form file name> and can be edited
with MODIFY REPORT. One or more
data files must be open when defining
or modifying a report form, and the
field list is available as a pop-up menu.
Report files produced by the report
generator are invoked with the REPORT
FORM <formname> command, and
options in the command syntax can
establish or modify conditions for head¬
ings, output device, and data selection.
Data can be gathered from more than
one file, and previously defined query
filters remain in effect.
The report generator provides au¬
tomatic page numbering and dating.
Multiline page and column headings
can be specified, and margins, page
length, and line spacing set. Page head¬
ings cannot contain variable data from
functions or from the files being pro¬
cessed. An optional heading line, speci¬
fied when the report is executed, may
contain functions such as TIMEQ. The
page heading text lines are automati¬
cally centered. The location of the page
number and date cannot be adjusted,
and footers are not implemented. Head¬
ings and page breaks may be sup¬
pressed at report execution time.
Up to four lines of heading text
may be entered for each column de¬
fined in the report. A report may con¬
tain 24 columns, and columns may con¬
tain combinations of fields. dBASE m plus
provides automatic word wrap if a col¬
umn is set narrower than the data field,
and a semicolon may be used to force a
carriage return and line feed within a
column. This can be used to stack ad¬
dress lines, for example.
Fairly sophisticated reports may be
developed if the user learns all the
nuances of the report writer. Functions
can modify data as they are output, and
TRANSFORM can alter presentation
format. dBASE m plus has no provision
for presenting large numeric values
with commas while retaining the ability
to total and subtotal. This reduces
somewhat the utility of the report writ¬
er for many financial applications.
Report output may be directed to a
screen, printer, or file. However, the
user cannot specify a printer set-up
character string. The printer must be set
up by using other output commands
prior to executing the report.
The same @ <row>,<col> SAY
<value> [picture] commands used for
data entry and screen output can also
be used to program custom reports of
any complexity. The programmer is
responsible for all page, line, and col¬
umn counts, although the PROW() and
PCOLQ functions are used to determine
the current print position.
A substantial deficiency in this
method of producing custom reports is
the inability to direct the output of
@...SAY... commands to a file. Custom
reports destined for files can use only
the ? and ?? commands, which simply
append data to an output stream. A sin¬
gle question mark produces a carriage
return and line feed before printing,
and a double question mark suppresses
them. Functions, memory variables, and
fields can be output with the question
mark command, and the TRANSFORM
function can be used for formatting, but
this is an awkward and primitive alter¬
native that should not have to be used
in too many circumstances.
Mailing labels are generated with a
separate feature specifically designed
for the purpose. The creation and invo¬
cation of label forms is similar to that
for the report writer. The label size and
number across can be specified or
chosen from a list of standard sizes.
Line contents are defined using data
from fields, literals, and functions. As a
convenience, fields can be separated by
commas to cause the output to be
trimmed of trailing blanks and a space
inserted between them, as in firstname,
lastname. The IIF function can be used
to select output data based on values of
other data in the record, and data can
be gathered from multiple linked files.
(A program to print labels for the sam¬
ple application is shown in listing 1.)
When executed, the label program
produces optional sample labels of
NOW 3
CPU Boards
fromhBus
OEM systems on the PC Bus:
Y88. With RS-232/422 console
support for upload/download. Lots
(256K) of on-board EPROM for
dedicated applications. Doesn’t need
a keyboard or display.
B88. Closer to a clone. It can use a
standard IBM CR; keyboard.
R188. Has 80188 processor that runs
on the PC Bus but executes the AT’s
instruction set.
All have an enhanced BIOS for disk
or diskless operation, and optional
ROM debugger. We also have a full
line of chassis and card cages with
PC Bus backplanes.
If you’re into systems, I-Bus speaks
your language. Call now TOLL FREE
800-382-4229 for the latest on
board level PCs. (In Calif, call
SYSTEMS
9235 Chesapeake Drive
San Diego, CA 92123
CIRCLE NO. 202 ON READER SERVICE CARD
MAY 1986
175
HELP/Control™ - an online help subsystem for the IBM-PC.
Increase product marketability. Reduce product development time.
HELP/Control is more than just context-sensitive help. It lets you build tutorial
sessions, bill-of-material parts catalogs, inventory-driven cross selling... The sky's the
limit.
And, HELP/Control is fast. Screens - up to full display size - appear almost
instantaneously because the runtime system is written in assembler and accesses the
screen memory directly. Smaller screens appear as windows. Once they've helped, the
original display is restored just as quickly.
HELP for the programmer. A few simple subroutine calls add a full-featured online
help subsystem to your application because HELP/Control is a runtime system linked
or loaded with that application. (HELP/Control has been fully tested with IBM COBOL,
IBM BASIC Compiler, Lattice C, Microsoft FORTRAN, Turbo Pascal, IBM BASIC
Interpreter, and assembler. It is distributed with sample programs in each language.)
HELP for the documentation writer. Build screens. Define captions. Associate each
caption with a screen. HELP/Control includes a screen generation language,
HELPGEN, that reads your sources, creates a runtime file, and lets you use your
favorite editor. Our HELP/Control reads that file and displays help screens when the
user activates the help function.
HELP for the end user. Use the cursor control keys to select a caption. Press return.
That's it. Each screen has a number of highlighted captions which indicate other
screens with information on that subject. Lotus 1-2-3 users will feel right at home.
We've even made the entire HELP/Control manual available as a set of screens so
you can browse without ever cracking a book.
HELP for the procrastinator. Your system's complete? You may be able to add our
slimmed down version of HELP/Control to your existing application. It provides all the
user functions of our full system with a keyboard intercept for first rate help support
with minimal effort without looking like an afterthought. (Some site or technical
restrictions may apply.)
HELP/Control comes complete with a detailed manual, both online and printed, with
information for the programmer and documentation writer. It also includes
instructions for the end user which may be incorporated into the application
documentation.
The Standard HELP/Control system implements the online documentation for our
MDS Outline product.
PC-DOS 2.0 or greater required for developing HELP/Control applications.
Applications using HELP/Control will run under PC-DOS 1.0 or greater. The runtime
system requires approximately 9K for code and buffers for full size help screens.
The Complete HELP/Control package (software, both manuals, demo programs)
is $125.00. A demonstration diskette, including the online manual, is available for
$15.00. To order or for more information, complete this form and return it with
your check. (Maine residents, please add 5% sales tax.) Or, call MDS, Inc. at (207)
772-5436. MasterCard and VISA accepted.
Please send me_copies of HELP/Control at $125. each.
Name_
Address_
Phone_
MC/VISA No._
Expiration Date
Return to:
MDS, INC., P.O. BOX 1237, PORTLAND, MAINE 04104
dBASE III PLUS
asterisks for printer alignment, and
blank lines are suppressed automati¬
cally. The output can be directed to the
screen, printer, or text file.
CRASH RECOVERY
dBASE in plus provides no features to
protect data in the event of power loss
or other equipment failure. Data record
counts and field definitions are main¬
tained in the file header area of each
file and may be damaged or corrupted
by system or hardware failure. The only
sure way to protect data is to perform
systematic operational backup of files.
In emergencies, techniques are avail¬
able for programmers to replace dam¬
aged file headers, and data can be re¬
trieved by stripping away the header
and appending the resultant fixed-
length data into a new database. These
techniques may be used only on unen¬
crypted files. Linked memo fields in the
.DBT file are difficult to restore because
updated text segments are replaced
with new segments elsewhere in the
file and are not physically deleted un¬
less a COPY or PACK is performed. The
header and memo file internal struc¬
tures are detailed in the documentation.
Index files often lose synchroniza¬
tion with the associated data file
because of user or programmer over¬
sight. The index formula is stored in
the index file header area, and the
REINDEX command will cause the in¬
dex B+trees to be rebuilt for all open
index files in a work area. Applications
should include a utility program to re¬
produce essential indexes from scratch.
MULTIUSER CAPABILITIES
The dBASE m plus package contains pro¬
grams necessary for installation and
operation on local area networks. The
networks supported require 8088, 8086,
or 80286 CPUs and DOS 3.1 or higher.
For a Novell network, Novell Advanced
NetWare/86 (version 1.01 and higher)
and the NetWare Server Board are
needed. The IBM PC Network calls for
the PC Network Program (version 1.0
and higher), and one Network Adapter
Card for each workstation. The file
server must have 640KB of memory and
a hard disk. Workstations require at
least one floppy disk. Workstations on a
Novell network need 384KB of memory.
IBM PC Network Messenger stations re¬
quire 640KB, Receivers 312KB, and Re¬
directors 448KB.
A dBASE administrator program is
installed on the network server, and
dBASE access is installed at each worksta¬
tion. The access program is copy pro¬
tected with SoftGuard’s SuperLok and
176
CIRCLE NO. 146 ON READER SERVICE CARD
PC TECH JOURNAL
dBASE III PLUS OVERVIEW
dBASE IH PLUS, version 1.0
Ashton-Tate, 20101 Hamilton
Avenue, Torrance, CA 90502-1319;
213/329-8000
Product type. A data management and
applications development system for
general use with stand-alone or mul¬
tiuser local area networks.
IBM PC environment PC, PC/XT, PC/AT,
or 100-percent compatible running
DOS 2.0 or higher with 256KB of
RAM, two 360KB floppy disk drives, or
one floppy drive and a fixed disk, and
a monochrome or a color monitor.
The system configured with 256KB is
restricted to DOS 2.x with the mini¬
mum number of CONFIG.SYS buffers
and the minimum number of param¬
eters in the dBASE m plus CONFIG.DB
file. 384KB is needed to run DOS 3.x.
Other environments. No other environ¬
ments are supported.
Network support. DOS 3.1/IBM PC Net¬
work Program or 100-percent compat¬
ible; 3Com 3Plus Operating System;
and Novell Advanced NetWare/86, 1.01
or greater. A network server/worksta¬
tion requires an IBM PC, XT, AT, or
100-percent compatible with a mini¬
mum of 640KB of RAM, a mono¬
chrome or color monitor, one 360KB
floppy disk, and one fixed disk. A net¬
work workstation requires an IBM PC,
XT, AT, or 100-percent compatible
with a monochrome or color monitor
and one 360KB floppy disk. Novell
workstations require 384KB. IBM PC
Network Messenger stations require
640KB, Receivers 512KB, and Redirec¬
tors 448KB.
Copy protection. The software is copy
protected using Softguard’s SuperLok,
but can be installed on many fixed
disks. Access modules for LAN-shared
operations require a copy-protected
key disk at the workstation.
Documentation. The documentation for
this product is substantial, weighing
9.3 pounds, and includes an on-disk
tutorial. Ten chapters in the manual
are about the interactive mode, and 15
chapters discuss programming. In ad¬
dition, a comprehensive reference sec¬
tion, a guide to managing the net¬
worked version, a command and func¬
tion quick reference, and a “Getting
Started” booklet are included.
User interface. dBASE m plus uses an
interactive command mode to com¬
municate with users. An assistant
mode with pull-down menus also is
provided. The product runs under a
structured programming language.
Help facilities. On-line help describes
individual commands and syntax. The
assistant mode provides a pull-down
menu command generation user inter¬
face. The status line displays prompts
as menu choices are scanned.
File capacities. The software allows 4KB
per database file; 512KB per memo
file; 128 fields per record; 1 billion
records per file; and 2 billion bytes
per file. A maximum of 20 files of all
types can be open simultaneously
(this is due to the DOS limit per pro¬
cess), and 10 database files can be
open simultaneously (a database file
with memo fields counts as two files).
A maximum of 7 index files and 1
format file can be open for each active
database file.
Field types and capacities. dBASE hi plus
allows 254 bytes per character field;
19 bytes per numeric field; 8 bytes
per date field; 1 byte per logical field;
and 5,000 bytes (or external word
processor capacity) per memo field.
Data entry. The default field-per-line
data entry screen is defined by the
field specifications of the file, but can
be reorganized using the screen
format file. The table-view browse
command enters and modifies data.
Applications development facilities. Full
turnkey system development is sup¬
ported through programming. The
applications generator produces auto¬
matic menu-driven program code for
single-file applications, and the
advanced generator produces menu
code for user-specified commands.
The applications generator is written
in the dBASE 111 plus programming lan¬
guage; the source code is not pro¬
vided. The software package includes
the RunTime+ semi-compiler system,
which can be used for code encryp¬
tion and linkage of developed applica¬
tions programs. Combinations of
encrypted, linked, and source code
can be executed. Runtime modules
are available that can execute the
encrypted code without dBASE 111 plus.
Security. Password security can be pro¬
grammed into applications in the
stand-alone mode. Multiuser installa¬
tion provides for multilevel password-
protection schemes and data encryp¬
tion. Multiuser installation also can be
accomplished on a single-user ma¬
chine if password and encryption ac¬
cess features are desired.
Access to system facilities. External pro¬
grams (COMMAND.COM and batch
files) can be run from the interactive
prompt or from program files.
Queries. Queries define subsets of
files or related files by filter specifica¬
tions using nested formula conditions
of fields and virtual fields. They can
be stored in query files for retrieval
later either interactively or under
program control.
Reporting. Report formats can be
stored and edited. The software sup¬
ports columnar report layout of fields
per report line. The appearance of
reports can be tailored using func¬
tions, virtual fields, report column
word wrap, as well as sub and sub-sub
total breaks. A special mailing label re¬
port form and file type is included.
The reports and labels operate on a
subset of the file records, which is de¬
fined either by report invocation com¬
mand or preestablished query. Output
can be sent to the screen, a file, or a
printer. Special report formats are
available through programming.
Utilities. The catalog feature provides a
dictionary of data and operational
files. Data file header specifications
support damaged file data recovery.
Data compatibility. The program reads
and writes fixed-length ASCII, delim¬
ited ASCII, PFS, Multiplan SYLK, Lotus
1-2-3 WKS, and DIF files.
Distribution. Distributors and dealers.
Registered dBASE in plus packages are
upgraded directly by AshtonTate.
Price. $693; upgrade from dBASE in,
$140 (free to users of dBASE in pur¬
chased after October 1, 1985); free up¬
grade from dBASE m developer’s re¬
lease version; ctools, $89.95.
Support Phone support is provided.
—Dave Browning
MAY 1986
177
dBASE IU PLUS
uses the key-disk approach, or it may
be installed on a workstation local hard
disk. dBASE access programs are serial¬
ized to prevent simultaneous network
use by more workstations than there
are authorized access modules. The
protect program is a separate utility in¬
cluded with the administrator and is
optionally used to control dBASE log-ins,
file and field access security, and data
encryption. Only data files and index
files can be encrypted. The text files
linked to data files for storage of memo
fields are not encrypted. The admini¬
strator and protect programs may be
installed in a single-user environment if
the user desires the encryption and data
access security features.
dBASE supports multiple file servers
in a network, and more than one copy
of dBASE administrator may be installed
on separate file servers in the network.
Several dBASE commands such as
DISPLAY STATUS show record- and file-
lock status when dBASE is operating in a
shared environment. Other commands
such as DISPLAY USERS are executed by
the administrator program. Work-
UNIX™ compatible
commands FOR DOS
Percent $95
If you’ve used UNIX,™ you are frustrated with your PC because
the commands you want just aren’t there. Percent brings UNIX-
compatible commands and a powerful command processor to
your IBM-PC, XT, or AT computer.
Percent is Robust.
The Percent shell provides
command history, aliases, and
true Input-Output redirection.
Commands are fully optioned.
Percent is Compatible
Percent commands do filename
expansion, parameter substition
and quoting like UNIX.
Runs Under MS-DOS M
Percent is the only UNIX-
compatible system that mns
under MS-DOS. That means
Percent and other MS-DOS
software can run side-by-side.
To Order.
Send a check for $95 U.S., or
simply call us. If you have
questions, ask us for a brochure
or use our Reader Service Card.
Thompson
Automation
UNIX is a registered trademark of AT&T.
Microsoft Corporation.
Commands.
grep.fgrep - search files for patterns
diff - compare files, print differences
IsJIJr - sorted directory listing
pr - format files for printing
mv - move files or directories
cp - copy files or directories
cat - type or concatenate files
rm - remove files or directory trees
head - print first few lines of files
tail - print last few lines of files
tee - copy piped data into a file
wc - count words and lines in files
mkdir, rmdir- make, remove directories
touch - update time of a file
pwd - print working directory
chmod - change file mode (attributes)
split - split up a big file
df - print disk free space
cu - communicate with another system
encode, decode - cu binary files
Shell Internal Commands
sh - command interpreter
cd - change dir, default to $HOME
history - print history of commands
! - re-execute a previous command
alias - establish a command macro
unalias - remove a command macro
dirs, pushd, popd - directory stack
set - set environment variables
which - find executable command
PO Box 5163
Beaverton, OR 97006
Phone (503) 645-9434
MS-DOS is a registered trademark of
CIRCLE NO. 178 ON READER SERVICE CARD
stations may direct printer output to
local or network printers.
The protect program establishes
and maintains security in the network
dBASE environment. A dBASE log-in is
maintained for each user, access privi¬
leges to files and fields are assigned,
and data encryption is enabled. Users
and files are assigned to groups, and
each group uses a different key for en¬
cryption. Within each group, individual
users can be given different categories
of access to the application’s data files.
A password system file DBSYSTEM.DB
is built and maintained by the protect
program and stored in an encrypted
form. A hard copy of the protect menus
can be made during the security set-up
process for reference when users forget
their passwords or other log-in values.
Simultaneous data access by multi¬
ple users requires management to avoid
collisions and deadlocks. Files are
opened in either exclusive or shared
modes. Files opened for exclusive use
do not require concern for locking
activities, because only one user may
access the data. If the SET EXCLUSIVE
parameter is on, then files automatically
default to the exclusive mode when
opened. When the parameter is off, the
files are opened for shared mode. Com¬
mands that operate on entire files, such
as BROWSE, REPLACE ALL, and SORT,
cause dBASE to lock the file automati¬
cally before executing the command. If
the file cannot be locked, an error is
generated that can be trapped by the
ON ERROR setting. The RETRY com¬
mand can be used to attempt the com¬
mand execution again.
When @...GET/READ commands or
single-record REPLACE commands are
used, the programmer must lock the
record, redisplay the current data
(which may have changed since the
time the user first viewed it for editing),
change the data, and unlock the record.
Locking of multiple records or records
in multiple shared files must be pro¬
grammed carefully to avoid file dead¬
lock—that is, two user programs trying
to lock overlapping sets of files or
records, with each program capturing a
portion of the files or records in the
shared subset. The dBASE file- and
record-lock commands do not support
specification of more than one item at a
time for locking, so the programmer
must include logic in order to detect
and break the deadlock condition.
When the dBASE full-screen EDIT or
CHANGE commands are executed, the
user at the keyboard can control the
lock status of the current record by
pressing Ctrl-O. dBASE will show the
178
PC TECH JOURNAL
lock status in the status bar. Of course,
operational procedures must be
enforced to keep users from leaving
records locked unnecessarily.
Programming commands are also
available to test user access authoriza¬
tions from within programs. Program
logic can then implement additional
security by avoiding display of menu
choices or functions for which the user
does not have authorization. Programs
can execute the LOGOUT command
when the user finishes.
dBASE m plus ignores network-
specific features in programs when
executed in a single-user environment,
so applications can be designed and
programmed for the multiuser mode
from the beginning.
SUBSTANTIAL DOCUMENTATION
The dBASE in plus documentation is sub¬
stantial. An attractive storage case of the
standard height and depth contains two
loose-leaf volumes, several booklets,
and weighs in at 9.3 pounds.
The two volumes of main docu¬
mentation are divided into five sections.
Volume 1, Learning and Using dBASE hi
plus , includes a 10-chapter section
“Learning dBASE hi plus,” which uses the
assistant mode and a disk of sample
files to provide a hands-on tutorial.
The reference section, “Using
dBASE m plus,” is the largest of all the
sections and will be used extensively by
programmers and end users alike. The
overview chapter in this section pro¬
vides program technical specifications
and limits, describes the different types
of files used by dBASE m plus, lists key¬
board navigation for full-screen opera¬
tions, and explains the use of the CON-
FIG.DB file to customize default param¬
eters. This chapter also provides an
excellent summary of the differences
between dBASE iii plus and the previous
dBASE iii versions. The rest of the sec¬
tion includes chapters on user interface
procedures, key words, commands,
functions, utilities, and error messages.
Command descriptions do not start on
a fresh page for each command, and
page header guide words are not pro¬
vided. Key words, such as SYNTAX,
USAGE, EXAMPLES, DEFAULTS, and SEE
ALSO, are set off to the left of the text,
and the command name is highlighted
in blue. The reference material is de¬
tailed and informative.
The utilities section describes the
differences between dBASE n and iii. It
also provides instructions for operation
of the dcoNVERT program, which helps
move dBASE n applications to dBASE iii.
The error message section lists error
messages with explanations and identif¬
ies the associated error number re¬
turned via the ERROR() function.
Appendices list the structure and
contents of the sample files, list and de¬
scribe the cursor control key opera¬
tions, and provide technical layout of
the .DBF and .DBT files. The compli¬
cated logic is also described for deter¬
mining which conditions cause the
BOF() and EOF() functions to be set
when testing for beginning and end of
file positions. A glossary of terms and a
comprehensive index are provided.
Volume 2 contains a 16-chapter
section, “Programming With dBASE in
plus,” intended to teach programming
in the dBASE language. A checkbook
management system application of
more than two dozen files and
programs is provided on disk and
serves as study material for the pro¬
gramming tutorial chapters.
“Networking with dBASE in plus”
provides information on network data¬
base applications management, opera¬
tional considerations, applications secu¬
rity, network programming concepts,
It's 3 AM!
Do you know triiere your bugs are ?
This C programmer is finding his bugs the hard way ...one at a time.
That's why it's taking so long. But there's an easier way. Use
PC-Lint
PC-Lint* analyzes your C programs (one or many modules) and uncovers
glitches, bugs, quirks, and inconsistencies. It will catch subtle errors before
they catch you. PC-Lint resembles the Lint that runs on the UNIX* O.S., but
with more features and some awareness of the 8086 environment
• Full K&R C
• Supports Multiple Modules-finds incon¬
sistencies between declarations and use
of functions and data across a set of
modules comprising a program.
• Compares function arguments with the
associated parameters and complains if
there is a mismatch or too many or too
few arguments.
• User-modifiable library description files for
most major compilers.
• All warning and information messages
may be turned on and off globally or
locally (via command line and comments)
so that messages can be tailored to your
programming style.
• All command line information can be
furnished indirectly via file(s) to automate
testing.
• Use it to check existing programs,
programs about to be exported or im¬
ported, as a preliminary to compilation, or
prior to scaling up to a larger memory
model.
• All one pass with an integrated pre¬
processor so its very fast.
• Has numerous flags to support a wide
variety of Cs, memory models, and
programming styles.
• Price: $139.00 MC, VISA
(Includes shipping and handling) PA residents add 6%
sales tax. Outside USA add $10.00
• Runs under MS-DOS* 2.0 and up, with a
minimum of 128Kb of memory. It will use
all the memory available.
Trademarks: PC-Lint (Gimpd Software), UNIX A T& 7),
MS-DOS (Microsoft)).
Amiga - Lint
Special Introductory Price
$98.00
3207 Hogarth Lane • Collegeville, PA 19426
(215) 584-4261
MAY 1986
179
dBASE ffl PLUS
Fortran Support
for
IBM PC/XT/AT & Compatibles
Versions Available For:
Microsoft, Supersoft, RvanMcFarland,
IBM Professional, Lahev, & IBM
Fortran.
Forlib-Plus
$ 69.95
Supports graphics, interrupt driven com¬
munication, program chaining, and file
handling/ disk support. A Fortran coded
subroutine is included which will plot data
on the screen either in linear/linear, log/
linear, linear/log, or log/log on the appro¬
priate grid.
Strings & Things
$ 69.95
Supports string maipulations, command
line usage, DOS call capabilities, SHELL
generation and data transmission, BATCH
file control, music generation, PEEKS and
POKES, PORT access, and general register
manipulations.
For-Winds
$ 89.95
Gives the Fortran programmer the capa¬
bility of generating up to 255 windows on
the screen. Each window can be individually
scrolled, moved, sized, generated, and
removed. Both color and monochrome type
displays are supported. Full source code is
supplied for customization.
ACS Time Series
$ 495.00
This is a COMPLETE time series analysis
package which contains VERY HIGH
SPEED FFTs, Filter generations, convo¬
lutions, transfer function calculations, auto
and cross spectra calculations, Cepstrum,
curve fitting algorithims, coherence calcu¬
lations, and many other associated routines.
The price includes FULL source code.
Fortran Scientific
Subroutine Package
$ 295.00
There are approximately 100 Fortran sub¬
routines included which fall under the
following 12 categories:
I) Matrix storage and Operations 2)
Correlation and Regression, 3) Design
Analysis (ANOVA), 4) Descriminant Anal¬
ysis, 5) Factor Analysis, 6) Eigen Analysis, 7)
Time Series, 8) Nonparametric Statistics, 9)
Distribution Functions, 10) Linear Analysis,
II) Polynomial Solutions, 12) Data
Screening. Full source code is included.
ALPHA
COMPUTfR
IIIVICI
Alpha Computer Service
P.O. Box 2517
Cypress, California 90630
(714) 894-6808
California Residents
Include 6% Sales Tax
There are NO license fees
and a reference section of dBASE com¬
mands and functions specific to net¬
work programming. This very technical
section must be thoroughly understood
for effective use of dBASE hi plus in a
network environment. The subject of
network database applications develop¬
ment is complex and difficult, and this
section needs to be expanded.
The final section, “Runtime*,”
presents the process of code encryption
with the dcoDE program and linkage of
encrypted program files with dBLiNKER.
The use of the runtime interpreter
dBRUN is also discussed, including the
constraints imposed on programs
intended for runtime applications.
The 53-page booklet Getting
Started , also included in the documen¬
tation package, covers the mechanics of
installation and set-up for various
system configurations, including dual¬
floppy, hard disks, and LANs.
The Applications Generator booklet
discusses in 41 pages the use of the
dBASE program APPSGEN.PRG provided
for automatic programming of simple
applications. The errata sheets indicate
that the program is provided in a code-
encrypted and linked form for perform¬
ance reasons, and that the directory of
the applications generator disk is differ¬
ent from that listed in the booklet. This
subtle change means that dBASE source
code for the applications generation
process is not available to the user, as
was apparently intended. This is most
unfortunate, because the applications
generator program could have been tai¬
lored by developers for repetitious pro¬
gramming tasks. As it is, the lack of
source code limits the usefulness of the
applications generator program.
A Quick Reference Guide lists the
dBASE language commands, and func¬
tions giving syntax. In addition, a small
Customer Support Guide discusses the
warranty and support provisions, pro¬
vides reference addresses and tele¬
phone numbers, and emphasizes the
need to register the package (which is
further encouraged by a chance to win
a $500 hardware prize).
Among several promotional and
advertising inserts included with the
documentation is an order form for
Ashton-Tates TechNotes. This monthly
publication, which provides program¬
ming tips, known errors and work¬
arounds, sample programs, questions
and answers, and update policies, is
well worth the annual $50 fee.
END-USER FACTORS
Ashton-Tate has tried to make dBASE hi
plus a product for developers and end
users alike. Development of entirely
customized applications is possible
because the programming language has
access to low-level functions such as
INKEY(). The end-user interface consists
of several full-screen, interactive com¬
mands, such as BROWSE or CREATE
QUERY, which may be invoked through
the assistant mode or from the dot
prompt. These end-user interface com¬
mands can also be used within pro¬
grams to avoid substantial programming
effort. The most efficient method of
applications development uses a com¬
bination of custom programming and
the default end-user interface.
dBASE hi plus arrives on eight floppy
disks. The program itself, with help files
and overlays, requires two system disks.
The first is copy protected with Super-
Lok, and a backup copy is provided. If
the program is run from floppy disks,
the files on the second disk must
remain available for help files and over¬
lays. Separate disks are provided for
sample programs and utilities, the on-
disk tutorial, and the applications gener¬
ator program. The dBASE administrator
program for use with network opera¬
tions takes up two more disks.
Special CONFIG.SYS and CON-
FIG.DB files are provided for single-
user operation on a 256KB system.
These files limit the number of DOS
buffers to four and restrict the maxi¬
mum default values for several dBASE
parameters. DOS 2.1 must be used
with 256KB systems.
dBASE uses the DOS path in the en¬
vironment to look for configuration,
overlay, and help files if not found on
the default drive, so applications may
be developed in separate subdirecto¬
ries. The program will first look for the
CONFIG.DB file in the DOS default
directory; this allows alternate start-up
default parameters to be configured for
different applications.
A SET PATH TO command sets an
internal path list for dBASE to search for
existing files such as applications pro¬
grams or the applications generator
program. This setting does not override
the existing DOS path and is not com¬
municated to external programs that are
called with the RUN command.
For networks, the administrator
program is installed on the network file
server, and the access program is
installed on dBASE system disk number
one or on a local workstation hard disk.
The dBASE program actually becomes
access and is renamed by the installa¬
tion batch file, access communicates
with administrator for security and net¬
work locking functions.
CIRCLE NO. 101 ON READER SERVICE CARD
PC TECH JOURNAL
PHOTO ll Interactive Query Creation
Line
1 field
Operator
Constant^Expression
Connect
1
| AUTHOR->STA
Is contained in
"HI/RI"
.AND.
2
( ARTICLE->PA
More than
106
.OR.
3
4
5
6
7
ARTICLE->ED
ARTICLE->CA
More than
Hatches
10
"Technical Article"
) .AND..MOT.
The CREATE/MODIFY QUERY command provides this inter¬
active method of creating a filter condition that defines sub¬
sets of the data. Subsequent commands, such as REPORT,
LIST, or EDIT, respect the filter condition in effect.
FIGURE 2: Status Reflecting Filter
. set view to qexample
. set filter to file qexample
. display status
Currently Selected Database:
Select area: 1, Database in Use: C:ARTICLE.DBF Alias: ARTICLE
Master index file: C:ARTLABEL.NDX Key: STR(VOLUME,1,0)+STR(NUMBER,2,0)
+UPPER(AUT H0R_LN+AUT H0R_FN)
Filter: TRIM(AUTHOR->STATE)$ ,, HI/RI' 1 .AND.(ARTICLE->PAYMENT> 100 .OR.
ARTICLE->EDIT_PAGES >10).AND..NOT.ARTICLE->CATEGORY= "Technical Article"
Related into: AUTHOR
Relation: UPPER(AUTHOR_LN+AUTHOR_FN)
Select area: 2, Database in Use: C:AUTHOR.DBF Alias: AUTHOR
Master index file: C:AUTHOR.NDX Key: UPPER(AUTHOR_LN+AUTHOR_FN)
The DISPLAY STATUS command shows how the filter, estab¬
lished by the interactive query creation shown in photo 1, is
stored as part of the view. The filter also can be set directly
with the command SET FILTER TO <condition>.
QUERY LANGUAGE
The dBASE hi plus query process is a
mixture of features found in the ap¬
proaches of relational algebra and cal¬
culus. The product offers no specific
high-level query language such as SQL
(Structured Query Language), but it
does have features that allow the extrac¬
tion of data from multiple files without
the creation of intermediate tables. For
the user who understands the structure
of a database, many queries are straight¬
forward, and the reporting commands
allow additional selection of the set of
data to be presented.
The concept of a filter on the data,
which is used throughout dBASE, defines
subsets of the data files currently open.
The CREATE/MODIFY QUERY command
provides a full-screen and interactive
method of creating a filter condition,
which may be saved in a file for later
recall and modification. Once the filter
condition has been established, sub¬
sequent commands, such as REPORT,
LIST, or EDIT, respect it. One query fil¬
ter condition may be saved with a view
and involve fields from more than one
file. Photo 1 shows one of the screens
in the interactive process of creating a
query filter condition. Figure 2 shows
the status of the files and the filter con¬
dition after the two commands
SET VIEW TO QEXAMPLE
SET FILTER TO FILE QEXAMPLE
have been executed. The filter could
also have been set directly with
SET FILTER TO <CONDITION>
which is often used in programs.
A query may become quite com¬
plex before the creation of intermediate
files is needed; the query itself may
require more than one command for
implementation. Separate filters may be
invoked for each of several related files,
but the ability to refer to fields from
multiple files in one filter condition
makes this unnecessary in all but the
most complex situations.
Additional conditions may be im¬
posed to select the data subset during
the reporting process. The SET FIELDS
TO Cfield list> command specifies
which fields from the open data files
are available for subsequent use. The
commands for data display, reports,
labels, copy, join, sum, browse, and sev¬
eral others respect both the field list
and filter conditions in effect at the
time of their execution; the command
syntax permits additional FOR and
WHILE conditions to be specified.
These commands also allow a further
selection of the fields to be used.
TRUE MULTI-TASKING!
TASKVIEW is high tech, available now, and it works with virtually all DOS software.
Give Lotus, Sidekick, Multimate or most any DOS program the advantages of real multi¬
tasking. It’s simple to use, compatible, bulletproof and most of all, it won’t slow you
down. That’s because TASKVIEW only shares your computer when YOU want it shared.
At other times, your visible program runs at full speed, waiting for you to easily
switch from program to program at the touch of a key. Compatible with most DOS
computers including the IBM PC/XT/AT/Jr. series, you can order TASKVIEW today
for only $69-95 + 5.00 Shipping and Handling, VISA and Mastercard.
ORDER LINE
( 206 ) 367-0650
30 Day Money Back Guarantee.
Taskview trademark Sunny Hill Software.
Lotus trademark Lotus Development Corp.
Sidekick trademark Borland Inti.
Multimate trademark Ashton Tate.
Sunny Hill
Software
13732 Midvale North Suite 206
Seattle, Washington 98133
CIRCLE NO. 152 ON READER SERVICE CARD
MAY 1986
181
"Window
Interactive (tJ^Q 95
DOS Utility
Resident program gives you
instant access to many
enhanced DOS functions
and instant return to where
you were.
Reduce time
screen
glance.
searching for your
nes ana periorming DOS
commands. See up to 85 files per
ige. Identify sub-directories at a
Bet quick and easy display of
contents.
* Make your DOS commands
easier to use. Pop up windows simplify
DOS operations, utilize single keystroke
commands, return you instantly to where
you left off.
* Take full control of your printer.
Call up printer output window from inside
-and give necessary printer
" WindowDOS quickly established itself as an
ible part of my PC environment . / can’t
imagine working without it.”
Paul Bonner, Reviewer, PC Week
v
$49.95
Plus $5 handling and shipping
1-800-433-5355
Texas 214 264-2626
Money orders, cashier's checks, VISA, MC,
AmEx, and Corporate Purchase Orders.
Software of the Future
Box 531650 Grand Prairie. TX 75053
WindowDOS is for use with IBM PC, XT, AT and true
compatibles. Requires DOS 2.0 or newer and 80 column display.
Uses only 40K of memory.
CIRCLE NO. 127 ON READER SERVICE CARD
182
dBASE III PLUS
In “A Perspective on Data Models”
(Clyde Holsapple, PC Tech Journal, July
1984, p. 113) the SQL example:
SELECT EMPNAME, EMPADDR, DEPNAME
FROM EMPLOYEE, DEPARTMENT
WHERE DEPID IN [7,12,3]
AND DEPARTMENT.DEPID =
EMPLOYEE.DEPID
ORDER BY EMPNAME
was used to produce a dynamically
sorted report of employee names, ad¬
dresses, and department names for all
employees in departments 7, 12, or 3.
The same query can be accomplished
in many ways in dBASE hi plus. Two ex¬
amples are presented below.
SELECT 2
USE DPARTMNT.DBF
INDEX ON DEPID TO DEPID.NDX
SET FIELDS TO DEPID, DEPNAME
SELECT 1
USE EMPLOYEE.DBF
INDEX ON EMPNAME TO EMPNAME.NDX
SET RELATION TO DEPID INTO
DPARTMNT
SET FIELDS TO EMPNAME, EMPADDR
SET FILTER TO DEPID $ [7,12,3]
SET FIELDS ON
LIST EMPNAME, EMPADDR, DEPNAME
Assuming the index files on the depart¬
ment and employee data files are nor¬
mally maintained as part of the applica¬
tion, the following commands could be
entered as an alternative:
SELECT 2
USE DPARTMNT INDEX DEPID
SELECT 1
USE EMPLOYEE INDEX EMPNAME
SET RELATION TO DEPID INTO
DPARTMNT
LIST EMPNAME, EMPADDR,
DPARTMNT—>DEPNAME
FOR DEPID $ [7,12,3]
Note that in each of these dBASE quer¬
ies, all of the set-up prior to LIST could
have been captured in a view and re¬
called with one command, SET VIEW
TO EMPDEPT. This would be a com¬
mon view into the employee and
department files, and, once established,
could be used for repeated commands
to view, print, or print labels. The selec¬
tion process could also continue by
adding conditions such as state or zip
code selection from the address field,
and the resultant table could be copied
to a new file for distribution.
When desired, commands such as
COPY, JOIN, or TOTAL produce new
tables with fields selected from the ac¬
tive field list and extracted from more
than one related file. The ability to es¬
tablish a relation of several files, select
desired fields, establish filter conditions,
and then copy or join portions of this
virtual table to create a new table pro¬
vides efficiency, flexibility, and power in
the query process, but does not fully
automate the process as is done in an
SQL-type query language.
IMPORT/EXPORT
dBASE hi plus can import data from
Multiplan SYLK and Lotus 1-2-3 .WKS
spreadsheets, general DIF files, column-
positioned ASCII files such as those
produced by most spreadsheet or word
processing programs, or delimited
ASCII files. The delimiter may be speci¬
fied. The command APPEND FROM is
used to import data from these files by
specifying the file type. The COPY TO
command is used to export data from a
dBASE data file into one of the above
formats by specifying the file type in the
command. As discussed above, the
COPY command can also select fields
and impose conditions for the set of
data to be copied.
The IMPORT and EXPORT com¬
mands provide an interface with the
PFS files from Software Publishing Cor¬
poration. The PFS screen layout defini¬
tion is captured automatically into a
dBASE format file for use with the
imported data file and is created in PFS
form from a dBASE format file when
exporting. A view file is also created
when importing, and the command SET
VIEW TO <PFS file name> opens the
file with its format screen.
The ?/?? <expression list> com¬
mand can be used to prepare files of
nearly any format for output. An alter¬
nate file may be specified with the SET
ALTERNATE TO <filename> command,
and output can be toggled on and off
with the SET ALTERNATE ON/OFF com¬
mand. The output of the ?/?? commands
is sent to the alternate file as well as
optionally to the screen or printer. The
file is considered to be an output string
of bytes, and any character except a
byte of eight binary zeros may be sent
with the CHR (n) function.
The applications generator pro¬
gram, supplied in encrypted and linked
form as discussed above, is the only
real application provided with dBASE m
plus. The applications provided with the
tutorial material—a checkbook program
and a travel reservations program—may
have some value to specific users, and
the source code is provided for exami¬
nation and modification.
Hundreds, if not thousands, of ap¬
plications are written in dBASE n or in
and sold by third-party vendors. Many
of these applications are certain to be
PC TECH JOURNAL
rewritten or converted to dBASE hi plus.
Ashton-Tate is planning to publish a cat¬
alog of third-party applications.
dBASE ctools, supplied by Ashton¬
Tate, provides a library of functions
written in the C language and a stan¬
dard interface module. This module
provides a path between dBASE program
files and an external library of ftinc-
tions. The ctools series is designed to
enhance performance of memory-inten¬
sive calculations and array manipulation
and to provide facilities for develop¬
ment of special purpose applications.
Ashton-Tate intends to release addi¬
tional library functions for the ctools
program in the future.
SAMPLE APPLICATION
The development of PC Tech Journals
sample application of a database of
three files to track articles and authors
revealed several strengths and weak¬
nesses in dBASE hi plus. Some of these
have already been mentioned in the
sections discussing the individual fea¬
tures of the program. Choices in the
way the package uses and relates files
showed their impact on the design of
database, program, and user interface.
One of the stumbling blocks men¬
tioned earlier was the inability of dBASE
to relate one file into more than one
other at the same time. If the sample
application were to be redesigned, the
one specific piece of unique data car¬
ried by the Issue file, the deadline date,
could be included in the Article file,
accepting the redundancy of having the
date repeated in each article record.
The deadline date for an issue should
not change often, and a single com¬
mand to replace it with a new date
throughout the file would be a small
price to pay for the associated reduc¬
tion of programming effort in the arti¬
cle data entry and other programs.
Another problem area was the
layout of the sample article data entry
screen. The inaccessibility of data en¬
tered by the user on a field-by-field
basis during full-screen operations until
the execution of the READ command
required substantial program logic for
the look-up of the data from the Author
data file. The reason for this is that the
user may change the key (author name)
used to relate the Article to the Author
file while entering the article data. This
ability was desired in order to permit
the user to change the author name
being entered if incorrect data were
retrieved from the related author rec¬
ord. In real applications, this arises fre¬
quently when a data entry screen uses a
client or account number to retrieve
Visual
COBOL
Wouldn’t it be exciting if COBOL was
as visual as it is powerful?
Good news! mbp has made
COBOL visual, mbp’s Screen Man¬
agement System extends ANSI stan¬
dards to help you create professional
data entry screens and a more visual
user-machine interface. No other
COBOL offers you such versatile and
powerful screen handling capabilities
for your IBM PC. It can make the dif¬
ference between software, and soft¬
ware that sells.
The heart of the mbp Screen
Management System is an interactive
mask editor that allows you to “paint
the screen” with display enhance¬
ments. The Screen Generator portion
of this editor is like a simple lan¬
guage transla¬
tor. It provides
a parallel and
complemen¬
tary function
to mbp
COBOL.
The mbp
Screen Man¬
agement Sys¬
tem includes
runtime sup¬
port that pro¬
vides you with full windowing
capabilities, complete foreground
and background color support, and
both active and passive program-
controlled video attributes for chang¬
ing I/O field definitions in real time.
The mbp Screen Management
System is just one component of
mbp’s very complete COBOL com¬
piler package, mbp COBOL also gives
you high-speed native 8086 machine
code, ANSI certification, access to
DOS commands, interactive debug¬
ger, SORT & CHAIN, multi-keyed
ISAM structure, IBM and Novell net¬
work support, RM-compatibility and
much more.
All these features, plus a power¬
ful screen management system, in
one complete COBOL package.
To fully appreciate the mbp
Screen Management System, you
must try it on your own PC. So, for a
limited time mbp will give qualified
users a com¬
prehensive
demonstration
disk of the
Screen Man¬
agement Sys¬
tem,
absolutely
FREE. The
demonstration
will show you
images you
may never
have seen in COBOL before. To
receive your free disk, simply mail
the coupon below or call mbp’s toll-
free number.
IBM is a trademark of IBM Corporation.
RM is a trademark of Ryan-McFarland.
Contact mbp today, and find out how visual COBOL can be.
Call 1-800-231-6342 ext. 5186.
In California, 1-800-346-4848 ext. 5186. mbp COBOL. $900.
mbp Software and Systems Technology, Inc.
1131 Harbor Bay Parkway, Suite 260
Alameda, California 94501
Please send me more information on mbp’s complete COBOL compiler, and tell me how 1 can receive a
free COBOL Screen Management System demonstration diskette.
Name
Company
Phone
Address
City
State
Zip
MAY 1986
CIRCLE NO. 172 ON READER SERVICE CARD
183
dBASE ffl PLUS
TABLE 1: Benchmark Results
BENCHMARK TASK
TIME (secs)
Add 900 records to an empty database table
45
Index table on two fields (7 bytes)
14
Document and tally codes from one column
49
Mass change of one column (28 rows of 900)
5
Extract selected records to create a text file
2
dBASE hi plus performed extremely well in all tests except the third, where it placed
at about the median position compared to programs previously reviewed.
data from another file. The usual prac¬
tice is to restrict the data entry process
from going beyond the field used for
look-up until the retrieved data are ac¬
cepted. This procedure is fine, except
that the simple format file approach
provided by dBASE cannot be used.
The production of labels for
authors and coauthors having articles in
an issue was another procedure de¬
manding some effort. In this case, how¬
ever, the fault lies more with the rela¬
tional model than with dBASE. The
labels were supposed to be created in
one pass through the section of the
Article database containing articles for
the specified issue. The sample applica¬
tion design allowed for two names (au¬
thor and coauthor) in the Article file for
each article. The elegant label printing
feature works well with related files, re¬
trieving data from any of the files, but
the author and the coauthor could not
both be pointed into the Author file at
the same time. The Author file could
have been used to print the labels,
making it the master file, but this would
require the Article file to be indexed on
both authors and coauthors simulta¬
neously, an option not available in
many database managers.
The sample application database
design limits the number of authors for
an article to two, which is a compro¬
mise between the maximum number of
authors anticipated per article and stor¬
age space used by the Article file. The
only real solution to this problem in a
relational model is to provide an inter¬
mediate file of records containing both
article and author keys. This file estab¬
lishes the many-to-many relationship
needed to handle the fact that an article
may have several authors, and authors
may write several articles, but also
raises several implementation questions.
Which file is used as the master in the
relationship, and how is the relation¬
ship between articles and authors estab¬
lished? This operation cannot be imple¬
mented without programming loops or
using file joins.
The reports required by the sam¬
ple application provided a test of the
report generator. One report called for
fairly sophisticated layout of articles by
issue with section subtotals, totals of
edit page count and listing page count,
grand totals, and section headers iden¬
tifying issue and volume number. Page
headers and footers were to include the
page number, title, time, and date. The
report writer was able to handle every
requirement except the one for footers.
The technique used to specify
printing the issue volume and number
in the section header is not obvious
from the documentation; previous simi¬
lar experience with dBASE hi led to its
discovery. The exact report require¬
ments were also programmed using the
@ row,col ... SAY command and mem¬
ory variables to count lines and pages
and to compare for breakpoints. The
logic for programming reports is no
more complex than it would be in any
other structured language.
The vast flexibility of methods and
techniques for retrieval of data made
short work of the ad hoc queries re¬
quired by the sample application. In
most cases, data could be retrieved in at
least two ways, one requiring only a
single command. For example, the que¬
ry to determine the number of edito¬
rial, listing, and total pages in an issue
could be produced by the command:
SUM ALL EDIT_PAGES, UST_PAGES,
EDIT_PAGES + UST_PAGES
FOR VOLUME = “3”
AND. NUMBER = “ 7”
This requires dBASE to read all records
in the Article file.
An alternative that takes advantage
of the index’s ability to put the Article
file into issue volume and number se¬
quence is to position to the first article
in the issue, then do the sum until the
issue number changes, as follows:
SEEK “3 7”
SUM EDIT_PAGES, LIST_PAGES,
EDITJPAGES + LIST_PAGES
WHILE NUMBER = “ 7”
Turbo Pascal Programmers:
IUrbo-Task allows any Hirbo Pascal Program to
run in Foreground or Background
Turbo-Task will make your program resident in memory just like Sidekick, but with one big difference: your program can also
operate in background! Turbo-Task is simple to use and complete in its operation. You only add two lines to your source code.
Turbo-Task takes responsibility for all multitasking duties. You specify the invoke key that will bring the program to the
foreground (it will pop up just like Sidekick) and you specify a time-slice weight the program will have when operating in
background. A non-zero weight will allow the program to continue operation if the user moves it to the background. It will still
have full access to disk and printer. When it completes its job, (i.e. processing data on disk and printing a report), it has the option
to reset its weight to zero, thus remaining dormant until the user presses its invoke key and brings it to the foreground again.
Meanwhile, the user has been running other software undisturbed by this background task. Up to 16 programs can use
Turbo-Task at the same time, each with its own invoke key, independent foreground window, and time-slice weight. You do not
need to understand multitasking theory to use Turbo-Task. All the work is done for you. Turbo-Task does not interfere with
SIDEKICK. Works with TURBO EDITOR and GAMEWORKS.
Ram-Page provides a Virtual
Screen of any Size
Ram-Page takes heap space to create up to 16 pages that can
be used as virtual screens. The dimensions you select are only
limited by system memory. 256k of heap could be allocated to
a single Page with 80 chars by 1600 lines! All of Turbo's text
handling routines will operate on the Pages. Write, Writeln,
ClrScr, ClrEol, InsLine, DelLine, Window, and Gotoxy will be
redirected to work on the Page you specify. View-Page allows
you to display any portion of a Page on the screen. This "view
window" is automatically updated as writes are made to the
Page. These windows can appear, disappear, move, and overlap.
Text written to a hidden window will be there when the
overlapping window disappears. Text can be moved between
pages. Foreground and background attributes are maintained
separately for each Page. Ram-Page also provides two new
routines: InsColumn and DelColumn.
Ikirbo-Linker breaks the 64k
Code Segment Barrier
Turbo-Linker performs two important functions: it allows your
program to grow beyond 64k, and it eliminates the need to
continually recompile debugged routines. Turbo-Linker will
convert a set of your procedures into a module that can be
loaded into the heap at run time. These procedures will operate
in the heap thus freeing space in the code segment for the
main program. In effect, it is using the heap for overlays,
except these "overlay" module can be shared by any number
of programs. Once you create a module, you never have to
recompile it. You can maintain a library of modules of your
frequently used procedures. There is no limit on the number
of modules that can be loaded or the number of routines in
any module. A loaded module can be "disposed" and a new
module loaded in its place. Handles global variables. Allows
calls between modules.
All these utilities — ONLY $70
Tangent!
180 North Wacker Drive • Suite 350 • Chicago, IL 60606 • (312) 263-0024
MC/VISA Requires Turbo 3.0 for PC compatibles
Turbo Pascal, Turbo Editor, Gameworks and SideKick are trademarks of Borland Inti.
184
CIRCLE NO. 184 ON READER SERVICE CARD
PC TECH JOURNAL
The ability to use fields from re¬
lated data files in the FOR or WHILE
conditions also made the retrieval of ar¬
ticles received after deadline a simple
matter of comparing the receive date in
the Article file to the deadline date in
the linked Issue file. Again, a single
command or the seek-and-process-while
technique could be used, as shown in
the following examples:
DISPLAY OFF ALL TITLE, DATE_RECD
FOR VOLUME = “3”
AND. NUMBER = “ 7”
.AND. DATEJRECD > ISSUE—>
DEADLINE
or:
SEEK “3 7”
DISPLAY OFF TITLE, DATE_RECD
FOR DATE_RECD > ISSUE—>
DEADLINE
WHILE NUMBER=“ 7”
The sample application was a good
test of many of the features of dBASE hi
plus, but certainly not beyond any of its
capabilities or capacities. If the applica¬
tion were redesigned with dBASE hi plus
in mind from the start, it could be eas¬
ily implemented using many of the user
interface features provided by the pack¬
age to replace much, but not all, of the
custom programming.
BENCHMARKS
The same five benchmarks were run on
dBASE hi plus that are run for all data
managers reviewed in this series—in
the same controlled PC/AT machine
configuration. The results are shown in
table 1. The program performed
extremely well in all tests except the
third, where it placed at about the
median position compared to programs
previously reviewed.
When several ways existed to
implement a benchmark, the method
appearing to be most efficient was used.
Tlie appending and indexing operations
of the first two tests were straight¬
forward, using the APPEND FROM and
INDEX ON commands.
The index file created on the com¬
bined state and zip code fields in
benchmark 2 placed the file in state
sequence; this was applied in bench¬
mark 3, listing and counting the occur¬
rences of unique state codes. A subtle
trade-off is inherent in this test. The fact
that the index formula contains an extra
five bytes for the zip code makes the in¬
dex file substantially larger than it
would be if only the two-character state
code were indexed. This imposes a
penalty on retrieval via the index, be¬
cause less of the index file can be buf¬
fered in the DOS buffers. The trade-off
is the time needed to create the index
on the state field alone. In tests run
using a large RAM disk in a Compaq,
both approaches were within one sec¬
ond (just over one percent) of each
other. On a hard disk in the same com¬
puter, they were about two percent
apart. If the state-only index file were in
existence for other reasons, the 41 sec¬
onds for benchmark 3 could have been
reduced by several seconds.
Another factor affecting this test is
that it displays information to the
screen. The screen management func¬
tions in dBASE are not as fast as in other
packages, and the ? print statement
below slows down the loop.
DO WHILE .NOT. EOF()
MSTATE= STATE
COUNT REST TO STATECOUNT
WHILE STATE = MSTATE
? MSTATE, STATECOUNT
ENDDO
The fourth test, replacing the 28
occurrences of the state code CO with
CL, was tried three different ways—one
of which illustrates a hidden, but logi¬
cal, restriction of dBASE. The most
straightforward but slowest method is
to use the command REPLACE ALL
STATE WITH ’CL’ FOR STATE=’CO’ on
the unindexed file. This causes dBASE to
read all records in the data file and up¬
sets the synchronization of the asso¬
ciated index file. One approach that
often confuses dBASE programmers is to
use the index file to seek to the first
occurrence of state CO and then per¬
form the replacement while the state is
still CO, thus limiting the amount of
records to be read. The problem is that
the first replacement of the state field
with a new value moves the record’s
logical position in the file, as deter¬
mined by the index. The current record
now contains the value CL, which does
not equal CO, so the replacement pro¬
cess stops before all occurrences are
found. The third and fastest method is
to use a loop that will seek and replace
until all replacements have been accom¬
plished, signified by the return of an
end-of-file condition from the seek. The
code is as follows:
DO WHILE T.
SEEK “CO”
IF EOF()
EXIT
ENDIF
REPLACE STATE WITH “CL”
ENDDO
The fifth benchmark uses the seek-
and-process-while approach, taking
Can your IBM-PC do this?
MUIR PASS and vicinity
oa seen from azimuth 320 degrees
elevation 50 degreer
PL0TW0RKS, Inc.
It can if you have PLOT88...
and with PLOT88 , you can do a whole lot more .
Plotworks offers you PLOT88, a library
of subroutines to construct grids, con¬
tour maps, and three-dimensional mesh
drawings. In addition, PLOT88 is a
device-independent, industry-standard
graphics package which includes PLOT,
PLOTS, NUMBER, SYMBOL, AXIS,
SCALE, LINE, FILL, and many
others. You can output your drawings
to Hewlett Packard plotters and laser
jet printers, Houston Instrument plot¬
ters, and dot matrix printers. Now your
mainframe graphics programs can run
on your IBM-PC, PC/XT, or PC/AT at
your convenience and at a fraction of
the cost.
PLOTWORKS, Inc.
Dept. J-l, P.O. Box 12385
La Jolla, CA 92037-0635
(619) 457-5090
“Toolmakers for the Information Age ”
MAY 1986
CIRCLE NO. 154 ON READER SERVICE CARD
185
DeSmet
C
8086/8088
Development $|(1Q
Package IU9
FULL DEVELOPMENT PACKAGE
• Full K&R C Compiler
■ Assembler, Linker & Librarian
■ Full-Screen Editor
• Execution Profiler
■ Complete STDIO Library (>120 Func)
Automatic DOS 1.X/2.X SUPPORT
BOTH 8087 AND S/W FLOATING POINT
OVERLAYS
OUTSTANDING PERFORMANCE
■ First and Second in AUG '83 BYTE
benchmarks
SYMBOLIC DEBUGGER $50
• Examine & change variables by
name using C expressions
- Flip between debug and display
screen
■ Display C source during execution
■ Set multiple breakpoints by function
or line number
DOS LINK SUPPORT $ 35
■ Uses DOS .OBJ Format
• LINKS with DOS ASM
■ Uses Lattice® naming conventions
Check: □ Dev. Pkg (109)
□ Debugger(50)
□ DOS Link Supt (35)
SHIP TO:_
ZIP.
WARE
CORPORATION
P.O. BOX C
Sunnyvale, CA 94087
(408) 720-9696
All orders shipped UPS surface on IBM format disks.
Shipping included in price. California residents add
sales tax. Canada shipping add $5, elsewhere add
$15. Checks must be on US Bank and in US Dollars.
Call 9 a.m. - 1 p.m. to CHARGE by VISA/MC/AMEX.
dBASE ffl PLUS
advantage of the existing state/zip index.
The commands are:
SEEK “CA”
COPY REST TO CAUTHOR
WHILE STATE = “CA” DELIMITED
Because the state field is not changed
by the COPY command, the WHILE
clause stops the copy as soon as the last
CA record is processed.
EVOLUTIONARY ADVANCEMENT
Ashton-Tate has succeeded in producing
a substantial, but evolutionary advance¬
ment to the dBASE product line. Users
familiar with dBASE m will enjoy the
increased performance and enhanced
features in dBASE hi plus, and developers
of custom applications will appreciate
much of the new user interface. dBASE
hi plus handles a wide variety of appli¬
cations, but the lack of a compiler may
adversely affect the performance in
large, multiuser systems.
The attributes of a relational data¬
base manager are present in dBASE hi
plus, but substantial user understanding
of data relationships and the relational
model is required before useful multi¬
file relational databases can be con¬
structed and implemented. The index¬
ing, filtering, and command syntax
features provide substantial power to
manipulate and manage data; many ad
hoc operations that are cumbersome in
dBASE hi and other programs are simple
in dBASE hi plus. The assistant interface
captures a significant portion of this
power in the interactive mode, and its
system of pull-down menus and pop-up
field and file lists is easy and powerful.
Developers can produce applica¬
tions quickly and easily if the user inter¬
face features are employed. Otherwise,
all communications between the appli¬
cations program and the user must be
tediously coded at a low level in the
dBASE language. dBASE hi plus provides
automatic record locking for multiuser
applications in which the default user
interface is applied, but any sophisti¬
cated screen handling requires pro¬
gramming of the file and record lock¬
ing. Very few, if any, multiuser applica¬
tions can be implemented without pro¬
gramming the locking functions.
Two significant drawbacks to the
dBASE hi plus database structure are the
inability to relate one file directly into
more than one other file and the limit
of 20 simultaneous open files, including
those reserved by DOS. The develop¬
ment of complex applications in dBASE
hi plus requires attention to detail in the
design of the data files, index formulas,
and relationship structure.
Perfect Windows,
Powerful Data Entry,
FULLY Integrated .
For Effortless
Data Entry Windows!
• Complete input formatting
• Unlimited Validation
• Full attribute control
• Field sensitive application help system
• Multiple virtual windows
• Fully automatic, collision proof overlay
and restore
• Print to & scroll background windows
• Animated window "zoom"
• Move, grow, shrink, hide, or show
any window
• "Loop function" allows processing
while awaiting input
and much much more!
Designed to increase your productivity
and help you produce superior applica¬
tions in dramatically less time! Includes
100% source, tutorial, reference manual,
examples, and sample programs.
Specify Microsoft,
Lattice, Computer HI *1 O • ^ 5
Innovations, Aztec, ^
or Mark Williams. Ask about Unix.
NOW... VCScreen !
Our new interactive screen "painter"
actually lets you draw your data entry
windows! Define fields, text, boxes &
borders. Move them around. Change
attributes. Then the touch of a button
generates C source code calls to the
Vitamin C routines! Now, your screen
designs will be faster and more pleasing
when they are created with VCScreen!
Requires Vitamin C lib- $ 99.95
rary above. For IBM & compatibles.
For Orders Or Information,
(214)245-6090
Creative Programming Consultants
Box 112097 Carrollton, TX 75011-2097
Include $3 ground, $6 air, $15 overnight
shipping, $25 if outside USA. Texans add
6% tax. All funds must be in U.S. dollars
drawn on a U.S. bank.
186
PC TECH JOURNAL
dBASE UI PLUS
The performance of cIbase iii plus in
multiuser network applications is yet to
be determined. Several factors will in¬
fluence its effectiveness in the LAN envi¬
ronment. Whether the user interface is
sufficiently flexible to support multiuser
applications remains to be seen. The
lack of a compiler requires careful at¬
tention to program efficiency, and
memory variable manipulation speed
has not displayed the spectacular in¬
crease enjoyed by the indexing opera¬
tions. dBASE hi plus has no significant
movement of data processing opera¬
tions from the LAN node to the server
in multiuser operations, and several
users with a few filtered, linked, and
indexed files will place a substantial
amount of traffic on the network.
This problem is not specific to
dBASE; most multiuser data managers
keep all of the intelligence at the node,
employing the server simply as a traffic
cop. What is needed is an intelligent da¬
tabase server program, designed to un¬
derstand the user’s database view as de¬
fined by the open data files, index files,
relationship formulas, and filter condi¬
tions. This view would specify a next
record, which may be several hundred
away from the current position. If the
server were to search out that next rec¬
ord before sending it to the node,
much network traffic could be elimi¬
nated. The node processor could then
do what it does best—manage the user
interface to the data supplied by the
server.
Techniques to improve perform¬
ance may be explored in the area of lo¬
cating some files at the local user node.
Subprograms called within loops may
be stored on a RAM disk or local hard
disk to reduce the frequency of their
retrieval over the network. When data
files are used for reports and exclusive
use is required, ad hoc index files can
be created locally to reduce network
traffic during both the index building
and data retrieval processes.
The most important attributes of
dBASE hi plus may be the flexibility and
power of the command language and
the power of the index file formula. Al¬
most any data manipulation problem
can be solved in a variety of efficient
ways. dBASE in plus is especially well
suited to unusual applications requiring
unique solutions. I 1111 —!
Dave Browning is vice president and co¬
owner of WBS and Associates, Inc., a micro¬
computer and custom database consulting
firm in Annandale, VA He is chairman of
the database special interest group for the
Capital PC User Group.
Learn and Use AI Technology
In Your First Evening
With PROLOG-86
A complete Prolog Interpreter , Tutorial, and set of Sample Programs:
□ Modify and write Expert Systems.
Use the simple “Guess the animal”
example on the Tutorial or use the
sophisticated system for Section 318 of
the US Tax Code written by one of the
PROLOG-86 authors and published
in the March, 1985 issue of Dr. Dobb’s
Journal.
□ Write Symbolic Math or Abstract
Problem Solving Applications
This is a complete Prolog program to
convert from Farenheit to Centigrade:
f_to_c(C,F):- C is(F-32) *5/9. Planning
programs and games are included to
help you learn.
□ BECOME FAMILIAR WITH
PROLOG IN ONE EVENING.
□ Understand Natural Language
Use the sample program that produces
a dBase DISPLAY command as output.
Programming experience is not required, but a logical mind is.
Prolog-86 Plus for $250 adds: Windowing, 8087, 640K memory access, random access
files, strings support and definate clause grammar.
RECENT IMPROVEMENTS: Floating point support, MSDOS commands, on-line
help, load Editor.
AVAILABILITY: All MSDOS, PCDOS systems.
Solution
yst©ms T
335- P Washington St.
Norwell, Mass. 02061
617-659-1571
800-821-2492
CIRCLE NO. 126 ON READER SERVICE CARD
LEARN LISP
Interactively and Write Real Programs
with TransLISP for Only $75
A “COMMON LISP” compatible Tutorial, Interpreter, Debugging, and
Pretty Printer plus a Fast, Full Screen Editor, Samples and Help
□ Start Easily and Quickly:
A complete, modular tutorial helps you
learn LISP at your own pace. An in¬
tegrated, interactive environment provides
all of the elements needed to enter, modify,
analyze and debug programs.
□ Natural Language, Expert Systems and
Mailing List:
Natural Language concepts are illustrated
by a phone number retrieval program.
Choose the best word processing program
for you with the Expert System. File handl¬
ing and typical data processing work are
demonstrated by a Mailing List program.
□ Write Realistic Programs:
Short examples and substantial programs of
about 10 pages in length help you learn by
modifying, studying and using the key con¬
cepts needed to write programs of 1000
lines or more.
□ The “COMMON LISP’’ Standard:
TransLISP includes a 230+ function
subset of the “COMMON LISP’’ Standard.
Use extras like the MSDOS interface and
graphics. Or use “strict compatibility” to
make programs written in TransLISP,
with no changes, work with other COM¬
MON LISP systems like VAX LISP,
GC/LISP or LISP Machine LISP.
Recent Improvements: 640K Memory use supports 12000 line programs.
Full 8087 and 8086 floating point included.
Runs on any MS/PCDOS System with 192K. It is not copy protected.
‘The best LISP I’ve ever used. Three times before, I tried to learn LISP, but until now I could
never break through the surface.” w.L. Whipple, customer
ONLY
$75 -Solution
Systems ™
'wy c 7'r
335-P Washington St.
Norwell, Mass. 02061
617-659-1571
800-821-2492
CIRCLE NO. 129 ON READER SERVICE CARD
MAY 1986
187
dBASE ffl PLUS
LISTING 1: AUTHLBL.PRG
♦AUTHLBL.PRG - Program to print labels for all authors who have
* articles in a given issue, suppressing duplicates.
* establish environment
SET TALK OFF && don't echo status changes to screen
SET SAFETY OFF && overwrite temp files, don't ask user if ok
SET PRINT OFF && make sure printer is off
SET UNIQUE OFF && index creation allows duplicate entries
MVOL=0 && preset memory variables: volume and number
MNUM=0
DO WHILE .T. && loop here if unknown issue or user wants to repeat
CLEAR && clear screen, get volume, number from user
a 10,10 SAY "Enter Volume and Number for labels (0,0 to quit):"
a 12,20 SAY "Volume" GET MVOL PICTURE "9"
a 12,COL()+4 SAY "Number" GET HNUM PICTURE "99"
READ && collect the data from the GETs
IF MVOL+MNUM=0 && user entered zeros to quit
EXIT
ENDIF
a 15,10 SAY "Sorting the author names and culling duplicates."
SELECT 1 && display comfort message; open article file
USE ARTICLE INDEX ARTICLE && index is volume and number
SEEK STR(MV0L,1,0)+STR(MNUM,2,0) && position to start of issue
IF .NOT. FOUNDO && no such issue, get another
a 15,10 SAY "Cannot find issue. Please reenter volume and number."
WAIT && pause for read of message
LOOP
ENDIF
* Copy the primary author names to tempi.dbf (this is very fast
* because the SEEK got us to first record immediately, and the
* COPY will stop as soon as the issue number changes.
COPY TO TEMPI REST FIELDS AUTH0R_LN, AUTHOR_FN WHILE MNUM=NUMBER
SEEK STR(MV0L,1,0)+STR(MNUM,2,0) && Position to start of issue
* Now get the coauthors (if any) to temp2. Use delimited format
* so we can append names to tempi without conflict in field names
COPY TO TEMP2 REST FIELDS C0AUTH0RLN, C0AUTH0RFN WHILE MNUM=NUMBER ;
FOR LEN(TRIM(C0AUTH0RLN+C0AUTH0RFN)) > 0 DELIMITED
* Get all the authors together by appending the coauthors to tempi.
USE TEMPI && open tempi in work area 1
APPEND FROM TEMP2 DELIMITED && add in the coauthors
* Create a unique index. This will eliminate duplicate labels.
INDEX ON UPPER(AUTHOR_LN+AUTHOR_FN) TO TEMPI UNIQUE
SELECT 2 && open the author file in work area 2
USE AUTHOR INDEX AUTHOR && key is uppercase last+first name
SELECT 1 && set relationship into author file key
SET RELATION TO UPPER(AUTH0R_LN+AUTH0R_FN) INTO AUTHOR
* Now print the labels. The parameter "SAMPLE" prints labels of
* asterisks for alignment. The label generation form looks up
* all data (author name and address) from the author file. The
* tempi file of uppercase names simply selects and points to the
* appropriate author record for the label. Label form contents are:
* Line 1: author*>AUTHOR_FN, author->AUTH0R_LN
* Line 2: author->ADDRESS
* Line 3: TRIM(author->CITY) + ",«, author->STATE, author->ZIP
* dBASE III PLUS automatically suppresses blank lines within a label
* and formats to the number of lines on the specified label size.
* A comma between fields on a label line causes dBASE to trim the
* first field of trailing blanks and insert one blank between fields.
* A sample label:
* John Brown
* 3559 South 24 St.
* Stanleyford, IN 76828
*
LABEL FORM ARTLABEL SAMPLE TO PRINT
ENDD0 && back for another issue.
CLOSE DATA
RETURN
All of a Sudden ...
dBASE Comes ALIVE with db SCOPE
NEW.. .Instant Editor: The Programmer’s
SideKick
►Multiple files, windows, undo N times, fast
►Pop up anytime, anywhere, instantly!
►On-line reformat, flawless source code always
►Short hand typing to increase productivity
►On-screen highlight punctuation for easy reading
►Keyboard macros, and more...
►A wonderful add-on to your editor and SideKick
( 818 ) 304-0312
2156 E. Colorado Blvd., Suite 110
Pasadena, California 91107 dBASE is a trademark of Ashton-Tate. SidedKick TM of Borland, Int.
dbTOOLS saves time and
improves documentation
Debug faster: Wildcard pattern and multi-file vari¬
able xref. Interactive view of PRG with reduced com¬
plexity. Eliminates unpaired structure errors. Applica¬
tion flow analyzer. PRG size reduction and speed up.
Better documentation: Automatic hierarchical
chart of entire application. PRG beautifier, pretty
printer and a lot more. Designed by dBASE profes¬
sionals for dBASE professionals. Compatible with
dBASE Plus and Compilers.
► REAL TIME ACTION: watch each line of your source code
run in real time. Know exactly how
a program works and why it doesn’t
work.
► INSTANT FEEDBACK: observe precisely the impact of
every source code as it happens.
Catch every detail so you don’t
miss a thing.
► COMPLETE CONTROL: single step, slow motion, status,
at anytime and anywhere without
interrupting screen.
A giant leap for anyone who tries to learn dBASE programming
and a must for every dBASE programmer.
dbSCOPE . $69 + $5 S&h
dbTOOLS . $69 + $5 S&h
InstantEditor .... $69 + $5 s&h
30 days money back guarantee. Never copy pro
tected.
Reg. IBM PC, AT or 100% compatibles with DO!
2.0 or above. Check or COD. Calif, resident pleas
add 6.5% sales tax.
COMTEL
188
CIRCLE NO. 102 ON READER SERVICE CARD
PC TECH JOURNAL
ONLY SEATTLE TELECOIt
solves the expanded memory and
speed problems of the IBM PC/XT.
• 2 MB EMS memory • Supports both 8 and 16 bit
• Fully compatible with
the Industry-standard
Lotus/Intel/Microsoft
(LIM) Expanded
Memory Specifica¬
tion (EMS), version 3.2
• Expandable up to 8
megabytes.
• Compatible with all
major productivity
software such as Lotus
1-2-3, Symphony,
Framework II.
Top Board processes EMS-
applicationsuptothreetimesfaster
than any other EMS board on the
IBM PC XT. TopBoardistheonlyEMS
expanded memory board with
both an 8 and 16 bit data bus and
can fu nction across the 16 bit wide
bus with the STD-powered PC-286
card.
Top Board frees you from the
memory limits of 640K. Expand
memory up to 2 MB with the confi¬
dence of LIM-compatible stand¬
ards. Unleash this full potential with
processor speeds up to 12 MHz
when used with our PC-286 board
across the bu i It-i a 16 bit d ata bus to
the Top Board.
Expect performance that
exceeds industry standards. To¬
gether, the PC-286 and Top Board
perform beyond their individual
state-of-the-art designs. Your CAD,
spreadsheet, database or other
softwaredesignedtoutilizetheEMS
specification will run up to 8 times
faster than an IBM PC XT with this
product combination.
The Top Board is fully compa¬
tible with the Lotus/Intel/Microsoft
Expanded Memory Specification.
It's unique design has an efficient
and flexible paging scheme for
even greater performance with
EMS-compatible applications and
multitasking software.
For the performance you and
your PC have been waiting for,
order a Top Board today. Solveyour
PC's problems with processing¬
intensive applications and improve
your own personal productivity.
CALL (206) 883-8440
SEATTLE TELECOM
& DATA, INC.
2637 151st PI. N.E.
Redmond, WA 98052
Top Board and PC-286 are trademarks of STD. Framework is a trademark of Ashton-Tate.
Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corporation. IBM PC XT is a trademark of IBM Corp.
Contact us regarding optional EGA graphics and multifunction daugther boards.
CIRCLE NO. 124 ON READER SERVICE CARD
MICROWAY’S 8087 RUNS 1-2-3~!
MicroWay is the world's leading retail¬
er of 8087s and high performance PC
upgrades. We stock a complete selec¬
tion of8087s that run at 5 and 8mhz. All
of ourcoprocessors are shipped with a
diagnostic disk and the best warranty
in the business - one year! We also
offer daughterboards for socketless
computers (NEC PC) and 287Turbo
which increases the clock speed ofthe
80287 from 4 to 8 mhz. Our NUMBER
SMASHER™ includes 640K ram. It will
run the IBM PC at clock speeds up to
10mhz and achieves a throughput of .1
megaflops with 87 BASIC/IN LINE, Intel
Fortran, or Microsoft Fortran. Software
reviewers consistently cite MicroWay
software and 8087 expertise as the
best in the industry! Ourcustomersfre-
quently write to thank us for recom¬
mending the correct software and
hardware to meet their specific needs
They also thank us for our same day
shipping! In addition to our own pro¬
ducts which support the 8087 and
80287, we stock the largest supply of
specialized software available For in¬
formation call us at
617-746-7341
Micro
Way
FASTBREAK™ employsthe8087toin-
crease the speed of Lotus 1 -2-3™ Ver¬
sion 1A or 1 A* by up to 36 to 1 $79
FASTPAK™ includes FASTBREAK soft¬
ware and a 5mhz 8087.$179
87SFL™ Microway’s Scientific Func¬
tion Library contains 170 scientific and
engineering functions Callable from
most 8087 compatible compilers First
Language $250; Additional $100
A2D-160™ Microway’s Data Acquisi¬
tion Board performs 160,000 12 bit
Analog to Digital conversions per
second! Includes software drivers The
fastest 12 bit A to D board available
For the IBM PC or XT. . $1295
SPEED UP YOUR AT
OR AT COMPATIBLE
WITH 287TURBO” - 8mhz
8087Support
For the IBM PC, PC XT, PC AT and Compatibles.
NUMBER SMASHER™ The World’s Fast¬
est Accelerator Card for the IBM PC, XT, and Com¬
patibles! Includes an 8086 and 8087 pair tested
to lOmhz, and 640K bytes of high speed ram.
Compatible with all software, operating systems
and hardware! Your program speed is increased
by a factor of 2.5 to 4.0. Floating point programs
run up to 2.8 times faster on the PC than on an
80287 equipped PC AT. One of the few accelera¬
tors on the market which is compatible with all
EMS cards Includes FASTBREAK.$1099
87/88Turbo™ is a stubby card wh ich includes
a clock calendar and a speed controller which
changes the speed of your motherboard from 4.77
to 7.4mhz. Its use requires your PC to have a soc¬
keted 8224. Typical speed increase is 1.6. Some
programs run up to 2.5 times faster. The card over¬
comes the problem of slow hardware by slowing
up only when slow devices are accessed and
running at full speed otherwise. It includes an
8087-2 . $350
286TurboCache" This new MicroWay ac¬
celerator uses 8K of cache memory and 80286/
80287 processors to provide an average speed
increase of 3 to 1 for most programs Call for
specifications, benchmarks and price.
MATRIXPAK™ manages a MEGABYTE!
Written in assembly language, our runtime pac¬
kage accurately manipulates large matrices at
very fast speeds Includes matrix inversion and
the solution of simultaneous linear equations
Callable from RM or MS Fortran, MS Assembler, or
87 BASIC/IN LINE.each $99
87FFT™ Written in assembly language, per¬
forms Forward and Inverse FFTs on real and com¬
plex arrays which occupy up to 512K bytes of
RAM. Also does convolutions, auto correlations,
hamming complex vector multiplication, and com¬
plex to radial conversions. Callable from most
8087 compatible compilers. $200
87FFT-2™ performs two-dimensional FFTs
Ideal for image processing Requires 87FFT $100
Micro
Way
P.O. Box 79
Kingston. Mass
02364 USA
(617) 746-7341
je Our IntehLotus specification
memory card. The only EMS board which comes
with two megabytes of cool-running low power
drain CMOS ram installed. Includes ram disk, print
spooler, disk cache, and EMS drivers For the IBM
PC, XT, AT and compatibles.$549
DFixer™ Our disk utility which thoroughly
checks PC or AT hard disks for bad sectors and
updates the MS DOS file allocation table accord¬
ingly. Solves the AT hard disk problem! ... $149
DOptimizer™ Optimizes the way your hard
disk or floppy stores its files Speeds up accesses
by recombining fragmented files.$49
DCache™ Our disk caching software speeds
up your I/O by storing repetitively used tracks in
memory. The amount of memory used can be
selected in 64K byte banks.$49
87 Verify™ For users who have to be absolutely
sure of their results! This background task periodic¬
ally performs an 8087 accuracy and stress test$49
87 MACRO/DEBUG™ Contains all the
pieces needed for writing 8087/80287 assembly
code including 8087 macros, object libraries for
commonly used functions, including transcen¬
dental trigonometries, conversions and Micro-
Way’s debugger- 87DEBUG.$199
OBJ-ASM™ ' A multipass object module trans¬
lator and disassembler. Produces assembly lan¬
guage listings which include public symbols, ex¬
ternal symbols and labels commented with cross
references. Ideal for patching object modules for
which source is not available.$200
87 BASIC™ includes patches to the IBM Basic
or MS Quick Basic Compiler for USER TRANS¬
PARENT 8087 support Provides super fast per¬
formance for all numeric operations including trig¬
onometries, transcendentals, addition, subtrac¬
tion, multiplication, and division.each $150
87 BASIC/1N LI N E™ converts the output of
the IBM Basic Compiler into optimized 8087
inline code which executes up to seven times fas¬
ter than 87 BASIC. Supports separately compiled
inline subroutines which are located in their own
segments and can contain up to 64K bytes of
code. This allows programs greater than 128K!
• Requires the IBM Basic Compiler Version 1 and
Macro Assembler. Includes 87BASIC $200
MICROWAY UDI runs RTOS or RMX com-
pilers under DOS.$300
8087 UPGRADES
All MicroWay 8087s include a one year warranty,
complete MicroWay Test Program and accurate
Installation Instructions
8087 5mhz.$109
For the IBM PC, XT and compatibles
8087-2 8mhz.$149
For Wang AT&T, DeskPro, NEC, Leading Edge.
80287-3 5mhz $179
For the IBM PC, AT and 286 compatibles
80287-8 8mhz $295
For the Tandy 3000 and ITT-XP.
287TurbO 8 mhz If you own an AT,
Deskpro 286 or AT compatible, this is the card you
need to get reasonable numeric performance It
plugs into your 80287 socket and includes a spe¬
cially driven 8mhz80287. The card comes in three
configurations The IBM AT version includes a
hardware RESET button.$395
NEC V20, V30. call
64K RAM Set 150ns .$10
256K RAM Set 150ns .$34
128K RAM Set PC AT..$49
JRAM, AST, INTEL call
DCache plus 64K ABOVE BOARD PS.375
DCache plus 128K AT ABOVE BOARD.475
Microsoft Fortran Version 3.31.209
IBM Professional Fortran.565
Ryan-McFarland Fortran Version 2.0.399
FORLIB+ or STRINGS and THINGS.65
Grafmatic for Fortran or Pascal.125
Plotmatic.125
NAG Fortran Library.300
Lattice C.269
Microsoft C or QuickBasic.CALL
IBM Basic Compiler Version 2.0.465
Summit BetterBASIC™.CALL
IBM Assembler w/Librarian Version 2.0.155
Microsoft Assembler Version 3.01 .99
Microsoft Pascal Version 3.31.199
STSC APL* PLUS/PC.450
Phoenix Plink86 or Cosmos Revelation... CALL
SPSS/PC+.595
EPSILON Text Editor.195
LABTECH NOTEBOOK.745
MultiHalo (one language).189
Fifth Generation FASTBACK.150
CIRCLE 169 ON READER SERVICE CARD
PROGRAMMING PRACTICES
JON FORREST
Matching Regular Expressions
Regular expressions combine simple syntax
and surprising expressive power.
T he technique of regular expression
pattern matching is considered quite
useful in standard UNIX text handling
programs, such as ED, LEX, and GREP.
However, most DOS programs handle
text processing using some ad hoc tech¬
nique. The basic problem involved with
text pattern matching is to detect and
locate a particular substring within a
given string. A simple example would
be to find all occurrences of the word
title within the string call vprts (title,
nc,ncall). Ad hoc techniques are ade¬
quate in an instance such as this. They
also can be used for other simple oper¬
ations, such as finding wild-card strings.
Consider, however, a more compli¬
cated situation involving pattern match¬
ing: searching a given text for the word
title each time that it appears in lower¬
case letters and within parentheses. The
programming task is manageable, but
finding the desired pattern in any but
the simplest of contexts would require
a significant amount of work.
For complicated pattern matches,
the regular expression syntax technique
below is the answer. It is simple to pro¬
gram and can specify 99 percent of the
strings a user might want to find. This
implementation uses UNIX syntax. The
listings that accompany the article are
written in Turbo Pascal.
REGULAR EXPRESSIONS
A regular expression is a string of nor¬
mal ASCII characters. It is used to
search a text for every occurrence of a
particular string. The simplest example
of a regular expression is a single char¬
acter; the regular expression z finds the
string z wherever it occurs in the text
being searched. Similarly, the regular
expression cat finds the string cat
wherever it occurs. Note that the regu¬
lar expression cat is actually the conca¬
tenation of three smaller regular ex¬
pressions: c, a , and t. Table 1 lists ex¬
amples of regular expressions along
with the meaning of each.
Because the DOS wild-card syntax
for an unspecified character is ?, the
search pattern Pat finds cat , bat , hat ,
and fat. The question mark cannot be
used for this purpose in a regular ex¬
pression; the period is used instead
(at). This search pattern matches not
only the desired strings, but also any
string within the text that contains a
character followed by a lowercase at.
The case of a character is signifi¬
cant in regular expressions. The charac¬
ter class syntax, however, is available to
perform case-insensitive searches. To
specify a string that begins with b and
ends with at , the class construct [Bb]at
can be used. This finds both Bat and
bat. Similarly, [Pp][Hh][Dd] matches PhD
in any combination of upper- and
lowercase characters.
The class syntax is useful in other
situations. Because a character class is a
set of characters, any one of which is
accepted as a match, the class [aeiou]
matches any lowercase vowel. A dash
shorthand is available for sequential
ranges of ASCII values. Thus, the regu¬
lar expression [a-z]at matches aat, bat ,
cat , dat , and so on. The regular expres¬
sion NUM[0-3] matches four strings:
NUMO, NUM1 , NUM2 , and NUM3.
A useful extension to the character
class is the negative character class—an
expression that matches all characters
except those included in the class. A
negative character class is designated by
a caret Q inserted immediately follow¬
ing the left square bracket of the ex¬
pression. For example, rAaBbCcDd]
matches all characters except the first
four letters of the alphabet. The caret is
not considered a member of the class.
With the exception of A and -, all special
characters are interpreted as literal
characters when they are enclosed in
square brackets.
One of the most powerful features
of regular expressions is closure. A clo¬
sure of a character can be used to pat¬
tern match zero or more occurrences
of the specified character pattern. This
feature is indicated by an asterisk (*)
placed immediately after the designated
character pattern. For example, :xr*
matches any successive occurrences of
x, as well as the situation in which no
occurrences of x are found. Similarly,
[0-9F matches successive occurrences
of numeric characters or the absence of
any numeric characters.
Closure can be used, for example,
by an author who writes a story in
which the number of os in the word
good is increased to indicate a corre¬
sponding increase in the degree of
pleasure, as in good, goood, and
gooood. If the author later wants to
change these words, he can use the reg-
MAY1986
191
ILLUSTRATION • MACIEK ALBRECHT
PROGRAMMING PRACTICES
ular expression pattern matching tech¬
nique to speed the substitution process.
The closure capability is useful here be¬
cause the regular expression go*d
matches all the various occurrences of
good within the text. It even can find
the word spelled without an o (gd).
A closure matches as many charac¬
ters as it can find; the o* regular ex¬
pression in the above example matches
all five os in goooood.
Two more special characters, the
caret and the dollar sign, indicate pat¬
terns that occur at the beginning or the
end of a line. The meaning of A within a
character class was described above.
When used outside of a character class,
it specifies the beginning of line. Thus,
the regular expression C matches C
when it is the first character of a line. $
is the corresponding end-of-line charac¬
ter. The expression can be used to
search for blank lines. Note that A and $
retain their special meaning only when
included at the beginning or end of a
regular expression pattern.
To be complete, a pattern matching
scheme must allow a search for any
character, even a character used as a
code by the scheme itself. The regular
expression syntax uses the slash to dis¬
tinguish literal from special characters.
For example, an asterisk can be speci¬
fied for a search by preceding it with a
slash.(The expression // specifies the
slash character itself.)
The features described here do not
constitute a full implementation of reg¬
ular expression pattern matching. None¬
theless, they allow the user to perform
a great variety of searches. The se¬
quence (.*) can be used to find charac¬
ters enclosed in parentheses; zzzz*
matches three or more lowercase zs;
afamWcrc]* matches any line in
which a , b , and t appear in alphabetical
order. The regular expression syntax
can be especially usefiil with program¬
ming languages. The regular expression
( *[Vv][Aa][Rr]. *), for example, matches
any line in a Pascal program that de¬
clares a varying parameter.
A PATTERN MATCHING PROGRAM
Like the DOS FIND program, REGU-
LAR.PAS (see listing 1) is implemented
as a filter. For example, to print all the
varying parameter declarations in a
Pascal program called T.PAS, type:
TYPE T.PAS I REGULAR (.*[Vv][Aa][Rr].*)
The INOUT.PAS include file (see
listing 2) contains the piped I/O proce¬
dures of the program. Taken from
Brand New From Peter Norton
A PROGRAMMER’S EDITOR
that’s lightning fast with the hot
features programmers need
Direct from the
man who gave you
The Norton Utilities,
Inside the IBM PC,
and the Peter Norton
Programmer's Guide.
INORTON
EDITOR
U This is the program¬
mer’s editor that I wished
I’d had when I wrote my
Norton Utilities. You can
program your way to
glory with The Norton
Editor.”
Peter Norton, 2210 Wilshire Blvd., #186
Santa Monica, CA 90403,213-826-8032
Visa, MasterCard and phone orders welcome
Easily customized, and sav<
Split-screen editing
A wonderful condensed/outline display
Great for assembler, Pascal and C
CIRCLE NO. 150 ON READER SERVICE CARD
ADDREC.PAS (see “Filters and Finite
Machines,” Larry W. Loen, February
1986, p. 181), these procedures access
the DOS functions 3FH and 40H. Piped
I/O allows multiple filter invocations on
a single input stream. The command
TYPE T.PAS I REGULAR (.*[Vv][Aa][RrJ.*) I
REGULAR count
(which must be typed on a single line)
selects all lines that declare a varying
parameter and contain the lowercase
variable name count. However, piped
I/O has a disadvantage: regular expres¬
sions cannot contain the characters <,
>, or I because DOS interprets them as
piping or redirection commands.
REGULAR. PAS is based on the text
matching program described in Ker-
nighan and Plauger’s book, Software
Tools in Pascal (Addison-Wesley, 1981).
Because of the complexity of the pat¬
tern matching problem, Kernighan and
Plauger break the program into two
parts. First, a regular expression is con¬
verted into a convenient internal form.
Next, the internal form is matched
against the input line. If a regular ex¬
pression is considered a program, part
1 compiles it into pseudocode, and part
2 interprets the pseudocode.
The encoding step is performed by
the routines in COMPILE.PAS (see list¬
ing 3). MAKEPAT, along with its subsid¬
iary routines, constructs the internal
representation; it loops through the
characters of the input string (named
ARG in listing 3) inserting the necessary
characters into the encoded string
(named PAT in listing 3). Table 2 lists
several regular expressions and the en¬
coded form of each.
The character LITCHAR (indicated
by the at sign) is used in the internal
form to distinguish between characters
that have special meaning in regular ex¬
pressions, such as ., [, and *, and stan¬
dard characters, such as a and 4 . The
internal form of a is @a. In the string
PAT in listing 3, * specifies the closure
operator, and @* is used to specify the
asterisk itself.
Character class syntax is changed
only slightly in the encoding process.
The class [abc] becomes [3abc when
converted to internal form. The 3 in
this example is not the ASCII value for
3, but the hex value. It indicates the
number of characters in the class.
Negative character classes are trans¬
formed in a similar manner, but the
prefix character is the excalmation
point. For example, the regular expres¬
sion meaning any character but a, b, or
c is typed /*$ abc] and encoded !3abc.
192
PC TECH JOURNAL
TABLE 1; Search Patterns
TABLE 2: Representing a Pattern
EXPRESSION
EXAMPLE MATCHES
a
any lowercase a
.at
Bat, bat, cat
[Bb]at
Bat or bat
[aeiou]
any lowercase vowel
Ta]
any character except a
[a-z]
any lowercase letter
go*d
gooood, good, god, gd
"c
lowercase c at beginning of line
c$
lowercase c at end of line
EXPRESSION INTERNAL REPRESENTATION
a
LITCHAR a
ANY
V
LITCHAR .
Bb]at
CCL 2 B b LITCHAR a LITCHAR t
aeiou]
CCL 5 a e i o u
A a]
NCCL 1 a
a-g]
CCL 7abcdefg
go d
LITCHAR g * LITCHAR o LITCHAR d
A c
BOL LITCHAR c
c$
LITCHAR c EOL
Like DOS wild cards, regular expressions are search speci- Regular expressions are preprocessed to simplify the match-
fiers. However, in regular expressions, case is significant, ing algorithm. The internal forms are strings of literal charac
and the asterisk indicates the procedure called closure. ters as well as special characters defined in REGULAR.PAS.
The function DODASH expands range
specifications, such as a-k to the equiva¬
lent expression, in this case abcdefghijk.
The period, dollar sign, and caret
outside of a class are transferred to the
internal form of the expression without
any change in form. The closure char¬
acter, however, is moved in front of the
character it alters— x* becomes *@x
FINDING A MATCH
To match a line with a compiled regu¬
lar expression, the line is checked
against the string PAT, one character at
a time. This process is carried out by
the function MATCH. Matching the pat¬
tern to a substring at a specific offset in
the line is performed by AMATCH.
Two complications can arise during
the pattern-matching process. First, a
character in the line might not match
exactly one character in the pattern. For
example, the pattern . matches a string
comprised of a single character, but so
do @a and [5abcde. The function
PAT_ADVANCE updates the pattern in¬
dex appropriately, depending on the
size of the pattern. The function
LIN__ADVANCE also helps to keep the
pattern index in step with the input line
index, accounting for the position
specifiers ( A and $), which do not
increment the line index at all.
Closure causes a major complica¬
tion when writing REGULAR.PAS. A clo¬
sure can match any number of charac¬
ters, including zero; the exact number
of matches depends on the rest of the
pattern and of the input string. Suppose
the closure is x*, and the string is xccc.
If x* represents the entire pattern, it
should match all four xs. However, if
the full pattern is ;c*;c, the closure
should match the first three xs and
leave the last x in the line to match the
last x in the pattern.
The function MATCH_CLOSURE
deals with this problem of closure.
As explained above, a closure matches
as many characters as are possible.
MATCH_CLOSURE determines the max¬
imum number of possible matches and
saves that value in the integer variable n.
It then calls AMATCH recursively to
match the rest of the pattern against the
rest of the line. If the remainder of the
pattern and the remainder of the line
match, the closure length is correct, and
MATCH_CLOSURE is finished. Other¬
wise, the closure length is shortened by
one, and AMATCH is called again. This
process continues until the whole line
matches or until a match fails because
of closure length zero. l»m—1
Jon Forrest is a systems engineer for Britton
Lee in California. He graduated from the
University of California at Santa Barbara
with a degree in linguistics.
WHAT’S REALLY IN THAT FILE?
FIND OUT WITH fijgMASTER
THE DISK UTILITY THAT’S QUICK AND EASY TO USE
NOT SURE WHATS THERE? fileMASTER offers the power needed to look
over a file quickly (it’s written in Assembler). You can rapidly jump to the end,
back to the beginning, or to anywhere in between. It’s fast enough to easily
browse all the sectors in a file, and the Hex/ASCI I display shows you exactly
what’s there - byte for byte.
CANT FIND THE DATA? fileMASTER can scan for character patterns in
either Hex or ASCII.
IS IT WRONG? Fix it with fileMASTER’s full screen editor that operates in
either Hex or ASCII mode.
NEED HARD COPY? Print either Hex/ASCII or plain ASCII formats.
NOT IN A FILE? fileMASTER can handle the entire disk as if it were one big
logical file. All functions operate on the whole disk just like a file. You can
work with the Boot Record, FAT, Directory or any other data on your disk.
HARD DISK? FLOPPY DISK? Yes, fileMASTER can handle any disk that DOS
can.
WHATS REQUIRED? IBM PC/XT/AT (or compatible).
m
ADD $3.00 SHIPPING-
$39.95
- CA RESIDENTS ADD $2.60 SALES TAX
r
1
' Filename: SAmple.txt
Segment:00000
Offset
0
1
2
3
4
5 6 7 8 9 A B C D E F
8123456789ABCDEF
0808
54
68
69
?3 O 20
69 73 20 61 20 73 61 6D 70 6C 65
This is a sample
0818
20
6F
66
20 74
68 65 20 44 69 73 70 6C 61 79 20
of the Display
0020
53
63
72
65
65
6E 2E 20 20 45 61 63 68 20 20 28
Screen. Each
0030
62
79
74
65
20
69 73 20 73 68 6F 77 6E 20 69 6E
byte is shown in
0048
48
45
58
41
44
45 43 49 4D 41 4C 28 6F 6E 28 20
HEXADECIMAL on
0858
74
68
65
20
6C
65 66 74 28 61 6E 64 20 69 6E 20
the left and in
00b0
41
53 43
49
49
20 69 6E 20 74 68 69 73 28 20 20
ASCII in this
0070
61
72
65
61
2E
20 54 68 65 20 4F 66 66 73 65 74
area. The Offset
0080
20 76
61
6C
75 65 73 20 70 72 6F 76 69 64 65 20
values provide
8890
64
69
73
70
6C
61 63 65 6D 65 6£ 74 20 69 6E 2D
displacement in¬
0088
74
6F
20
74
68 65 20 73 65 67 6D 65 6E 74 2E 20
to the segment.
08B0
54
6F 20
63
68
61 6E 67 65 28 64 61 74 61 2C 20
To change data.
00C0
6A 75
73
74
20
74 79 70 65 20 6F 76 65 72 20 20
just type over
00D0
74
68
65
20 48 45 58 20 6F 72 20 41 53 43 49 49
the HEX or ASCII
80E0
64
61
74
61
2E 20 20 20 20 20 20 20 20 20 20 20
data.
00F0
00 01
02
03
04
05 06 07 08 09 8A 8B 0C 8D 0E 0F
Ua lues:
He
x=S4
Bin:
= 01010108 Dec = 834 Asc=T
L»B2Sa
V
Ascii
3imrn Edit 5f7TM.Fg7TT7yHll'TM€ T ffiri l B | n:^
Li
S J. L. Schuller^/U^
_ (818) 366-6934
14800 Rinaldi St., Suite 6A, Mission Hills, CA 91345
CIRCLE NO. 228 ON READER SERVICE CARD
MAY 1986
193
due? in tm
MODULAR DATA
ACQUISITION SYSTEM
We Bring Engineers, Scientists And The IBM-
PC Together. Our unique high-performance
modular data acquisition system allows you
to purchase the configuration that exactly
meets your requirements.
8-BIT A/D
SYSTEM
12-BIT A/D
SYSTEM
QUA TECH, INC.
478 E. Exchange St. Akron OH 44304
(216) 434-3154 TLX: 5101012726
CIRCLE NO. 177 ON READER SERVICE CARD
PROGRAMMING PRACTICES
Protect \bur
Private Parts.
Whether you’re a software
developer or an end user,
whether you work alone on a
PC or you’re part of a 24-
person project team, keeping
new. software or sensitive
data from prying eyes is
serious business.
Short of compli¬
cated, wizard-like
protection schemes,
or James Bond, you
haven’t had too many
realistic alternatives.
Until now.
Because Rainbow
Technologies has developed
simple, easy-to-use systems
called Sentinels that say no
to prying eyes. No matter
how hard they look.
The key to Sentinel is just
-f
that— a smart piece of plastic
smaller than a best-selling
cassette that plugs into the
parallel port of your IBM
PC/XT/ AT or compatible.
There are two ways to go.
TheSoftwareSentinel™, that
prevents anyone from
using your licensed
software program
unless you give them
a key. And the Data
Sentinel™, Rainbow
Technologies’
newest prying eye-
stopper, that automatically
protects sensitive personal or
project data as you enter it.
The Sentinel Security Systems
from Rainbow Technologies.
The only hard part is
the key.
I | RAINBOW
^ TECHNOLOGIES. INC.
17971 Skypark Circle, Suite E, Irvine, CA 92714
Phone (714) 261-0228 Telex: 386078
LISTING 1: REGULAR.PAS
PROGRAM regular;
Search input lines for regular expressions. Similar to DOS
•'FIND.EXE" and UNIX "GREP". Reads from standard input, writes
to standard output. Usage: C:>DIR j REGULAR PAS
>
CONST
{
REGULAR EXPRESSION OPERATORS
}
CLOSURE = '*';
BOL = ' A «;
{ match starting at beginning of line
)
EOL = '$';
C match at end of line
}
ANY =
< match any single character
)
CCL = '[*;
{ begin character class
)
CCLEND = ']';
{ end character class
}
NEGATE = ,A ';
{ signify negative character class
)
NCCL = '!';
{ negative character class: internal form
}
LITCHAR = '3';
{ next character not an operator
)
ESCAPE = '\';
{ treat next operator as literal character
}
DASH =
{ consecutive range within class
)
EOF_NUM=255;
C end of file }
E0LN1_NUM=13;
C return }
EOLN2_NUM=10;
{ line feed )
ENDSTR = A A;
{ End String: internal code for end of line
}
($1 InOut.pas} t Get line from Standard Input, Put line to STDOUT )
var ARG, i input string: regular expression >
LIN, C line from standard input }
PAT: maxstr; C regular expression (internal form)}
{$1 Compile.pas} { compile regular expression to internal form }
function locate(c: char; pat: maxstr; offset: integer) : boolean;
i
Search for the character C in the character class at pat[offset]
}
var i: integer;
begin
{ size of class is at pat[offset], characters follow }
locate:=true;
i:=offset+ord(pat[offset]); {last position in class)
while i>offset do
if c=pat[i] then exit else i:=i-1;
locate:=false;
end;
function lin_advance(lin: maxstr; l: integer;
pat: maxstr; p: integer): integer;
{
Matches character pattern pat[p] against input line characters
starting at iinCL]. LIN_ADVANCE=-1 means no match.
begin
lin_advance:=-1;
case pat[p] of
LITCHAR: if lin[l]=pat[p+1] then lin_advance:=1;
BOL: if 1=1 then lin_advance:=0;
ANY: if l<length(lin) then lin_advance:=1;
EOL: if l=length(lin) then lin_advance:=0;
CCL: if locate(lin[l], pat, p+1)
then lin_advance:=1;
NCCL: if (l<length(lin)) and
(not (locate(lin[l], pat, p+1)))
then lin_advance:=1;
else error ('in lin_advance: can"t happen')
end; Cease)
end;
function pat_advance(pat: maxstr; p: integer) : integer;
CIRCLE NO. 157 ON READER SERVICE CARD
194
PC TECH JOURNAL
{
Returns offset of next pattern within PAT string. Current pattern
starts at PAT[P]. ex. if pat="ac3aat" and p=1 then pat_advance=3.
>
begin
case pattp) of
LITCHAR: pat_advance:=p+2;
BOL,EOL,ANY: pat_advance:=p+1;
CCL,NCCL: pat_advance:=p+ord(pat [p+1] )+2;
CLOSURE: pat_advance:=p+1;
else error('in patadvance: can''t happen');
end; {case}
end;
function amatch (lin: maxstr; offset: integer;
pat: maxstr; p: integer): boolean; forward;
function match_closure(lin: maxstr; offset:integer;
pat:maxstr; p:integer): integer;
{
Match as many characters as possible with closure.
Does rest of pattern match remaining characters on line?
If not, shorted closure match by one and try again.
If closure shortened to 0, no match is possible (match_closure=*1)
>
var n, backtrack, increment: integer;
begin
match_closure:=0;
n:=offset;
repeat
increment:=1in_advance(lin,n,pat,p);
if increments then n:=n+increment;
until ((increment^) or (n>length(lin)));
if n=offset then exit; { closure length is zero >
for backtrack:=n downto offset do
begin
if amatchClin,backtrack,pat,pat_advance(pat,p)) then
begin
match_closure:=backtrack;
exi t;
end;
end;
match_clo$ure:»*1;
end;
function amatch;
{
Anchored match. Does pattern PAT match input line starting at
LIN[offset]? Loop through PAT distinguishing the two cases;
if PATtP] is a closure, find appropriate closure size to match.
Otherwise, just compare characters and update PAT and LIN indexes.
>
var l,increment, closure_end: integer;
begin
amatch:=false;
l:=offset;
while (p<=length(pat)) do
begin
if l>ler»gth(lin) then exit;
if pattp]=CLOSURE then
begin
closure_end:=match_closure(lin,l,
pat,pat_advance(pat,p)); { jump over >
if closure_end<0 then exit;
l:=closure_end;
p:=pat_advance(pat,p);
end
else
begin
increment: = lin_advance(lin,l,pat,p);
if increments then exit;
l:=l+increment;
end;
p:=pat_advance(pat,p);
end; {while}
amatch:=true;
end;
PROLOG
APPLIED!
The FIRST Interactive
Prolog for the IBM
and Macintosh.
PROLOG/i
A new enhanced Interactive
Prolog for MS-DOS.
Upwardly compatible ^ K^^y
with PROLOG V and V-plus.
PROLOG/m
Prolog for the Macintosh!
Edinburgh syntax. $OOQR
Floating point, ^Zy^y
math functions.
THREE GREAT
APPLICATIONS
READY TO RUN
NO PROGRAMMING
EXPERIENCE NECESSARY.
NFL X-pert $49 95
Expert system for professional
football handicapping.
toolbox $ 29 95
Including subroutines that speed
and compress list handling,
searches, sorts, reversal algorithms.
toybox $29 95
A collection of games and puzzles
that make learning Prolog fun.
MIX AND MATCH FOR ADDED SAVINGS ^
PROLOG/i PROLOG/m ‘SAVE*
Interpreter plus...
Toolbox or Toybox
Toolbox and Toybox
NFL X-pert
NFL X-pert and
Toolbox and Toybox
BUY ALL 4 AND SAVE $50
Applications Only
Toolbox and Toybox
NFL X-pert and Toolbox or Toybox 69.95
BUY ALL 3 AND SAVE $20
$ 79.95
$109.95
$20
99.95
129.95
30
99.95
129.95
20
119.95
149.95
30
129.95
159.95
50
$49.95
69.95
89.95
COMPATIBILITY
Applications fully
compatible with
Prolog compilers
and interpreters
with Edinburgh
syntax.
o
System Requirements
PC-DOS/MS-DOS
Ver. 20 or later
256KRAM
512 Macintosh
5580 LA JOLLA BLVD.
CHALCEDONY u'ouaca
SOFTWARE, INCfl 9) 7 483 8513
PHONE ORDERS: 1-800-621-0852 EXT 468
□ PAYMENT ENCLOSED $_
□ CHARGE MY:
1
I Card No. _
H Signature_
H Mr./Mrs./Ms.
CA residents add 6% sales tax
□ MasterCard □ Visa
_ Exp. Date_
Address _
City/State/Zip
(please print lull name)
PROLOG/i $69.95
' PROLOG/m 99.95
// you own PROLOG V or
PROLOG V-plus. call for
upgrade information.
SHIPPING:
. $ 5.00 U.S.
7.50 Canada
10.00 Carribean,
Hawaii Air
20.00 Overseas Air
COD Orders Not Accepted I
. 15 day check clearance
T
I
I
I
I
CIRCLE NO. 139 ON READER SERVICE CARD
MAY 1986
195
TEmH
OURNAL
CONG FRRENT ENVIRONMENT
5278 79 EMULATION
EXPANDED MEMORY
S-D DRAWING Wrm MEGA GADD
Focus on the technical issues that concern you
in PC TECH JOURNAL
Let’s face it, every day brings new technical
challenges with the IBM PC. And just when you
think you’ve met them all, you find out that IBM
has just introduced DOS 3-1—or that the new
networking standard is likely to be the IBM token
ring—or that one of your users just bought a
3270 board and doesn’t know what to do with it.
Where can you turn for accurate and in-depth
answers to the technical questions that confront
you daily? PC TECH JOURNAL.
PC TECH JOURNAL focuses on the technical
what-if’s and how-to’s that are crucial to the
growth of PC systems.
PC TECH JOURNAL will give you a clear
picture of products and technical developments
with.detailed, objective articles on data manage¬
ment, applications development, communica¬
tions, and programming, plus hard-nosed
product evaluations of both hardware and
software.
Subscribe now and save 50% on the
magazine that puts technical issues into
focus. PC TECH JOURNAL. One year
(12 issues) only $23.70. To subscribe,
please use attached card. Or for fast
service, call toll-free 1-800-852-5200.
Consult with
ini'
the Experts in ||0 (JRNAL
4Z353
HMHMWtfT Hit***
MACRO ASSEMBLERS
f/t\J rnitf \HciriS(tf) Srijfion SY> luiniily
PROGRAMMING PRACTICES
function match(lin,pat: maxstr): boolean;
Loop through input line checking for match at each position.
>
var i: integer;
begin
match:=true;
for i:=1 to length(lin) do if amatch(lin,i,pat,1) then exit;
match:=false;
end;
begin
if not getarg(arg) then errorCno pattern specified');
pat:=makepat(arg);
while get lined in) do
if matchdin,pat) then putline(lin);
end.
LISTING 2; COMPILE.PAS
C Input and Output procedures follow. Interface to standard I/O included. }
TYPE
regpack = record C used for Standard I/O DOS calls >
ax,bx,cx,dx,bp,si,di,ds,es,fIg : integer
end ;
ary = byte;
xpt = record
case integer of
1: (ptx : A ary) ;
2: (qq,rr :integer)
end;
maxstr = string[2551;
VAR
register : regpack;
xx : ary;
here : xpt;
b: byte;
procedure putstdout(wr: byte);
{ Procedure to put the next byte of Standard Output out to
MS DOS 2.x Standard Output file. >
begin
here.ptx := addr(xx);
• xx := wr;
register.ds := here.rr;
register.dx := here.qq;
register.cx := 1;
register.bx := 1;
register.ax := $4000;
intr($21,register);
end;
procedure getstdin(var ip: byte);
C
Procedure to get next byte of input from DOS 2.0, 2.1
Standard Input file. This filter uses only ascii characters
(maximum decimal value 127) so 255 was chosen as the
end-of-input flag.
>
begin
here.ptx := addr(xx);
register.ds := here.rr;
register.dx := here.qq;
register.cx := 1;
register.bx := 0;
register.ax := S3F00;
intr($21,register);
if register.ax = 0 then ip:= 255;
if register.ax <>0 then ip:= xx;
end;
function getline(var lin: maxstr): boolean;
MAY 1986
It's Midnight —
Do you know where
your files are?
Lost on the Disk? Tired of the search?
Say Hello to SCOUT— The first memory-resident disk directory utility
that lets you do all this: search, view, move, delete, copy, organize,
format, sort, create, and TAKE CONTROL of your directories and
printer without leaving your working program. Easy-to-use windows
pop-up making SCOUT'S commands just a KEYSTROKE AWAY!
SCOUT is perfect for hard disks and floppy systems, too. In fact,
SCOUT is the only disk directory utility that can format a floppy disk
from within a resident program—AT TWICE DOS SPEED!
SCOUT works like SIDEKICK—SCOUT works WITH SIDEKICK.
In fact, SCOUT works with most major programs including dBase III,
Lotus 1-2-3, SuperCalc3, WordStar, WordPerfect, Turbo Pascal,
Enable, and Sidekick. circle no. uo on reader service card
WHY SETTLE —
FOR LESS?
Memory Resident
Remove from memory without reboot
Memory resident disk formatter
Move to directories
User selection of activation key
Move files
Mass file copy, delete
Search tor files
Multiple file sorts
Display directories
Alter file attributes
Change default directory
Display disk space
View text files
Set printer control codes
Pop-up windows
Display directory using file masks
Single-key commands
Create/remove directories
Tag, untag, and retag files
Rename files
Rename directories
Cumulative file tag totals
Editor delete volume labels
Print location of files found in search
Print directory catalog
Print tislnq of files in any directory
Show CAPs and NUMLOCK status
Display full day, date, time
Display DOS version
Change sort type dynamically
INTRODUCTORY
OFFER
49
95
NO RISK OFFER
30-Day Money-Back
Guarantee if not
thoroughly satisfied.
SYSTEM REQUIREMENTS
IBM PC and compatibles
SCOUT loads in just 128K
with DOS 2.00
Supports color and mono¬
chrome monitors, and
Hercules Graphic Cards
(SCOUT)
C#
CHALCEDONY
SOFTWARE, INC.
5580 LA JOLLA BLVD.
SUITE 126-T
LA JOLLA, CA.
92037
PHONE ORDERS: 1-800-621-0852 EXT468
IQ PAYMENT ENCLOSED $ _
!□ CHARGE MY: □ MasterCard [JV\sa
| Card No._Exp. Date_
I
I
B Name_
I Address_
I City/State/ZIP_
$49.95
3.00
■■■I!
Signature..
I Day Phone_
SCOUT
CA Residents
(sales tax)
Shipping
(see below)
Total
SHIPPING
$ 5.00 US/Canada
Surface
7.50 US Air
10.00 Overseas Air
NO COD ORDERS ACCEPTED
DEALER INQUIRIES WELCOME-
Special Demonstration
Package Available m
PROGRAMMING PRACTICES
Reads a line from the Standard Input file and loads it
preserved, but the Turbo parameter functions ignore
into the string LIN. The end of line identifier ENDSTR
leading and trailing spaces.
is appended to each line. Unprintable characters are
>
ignored.
var i, arg_num: integer;
>
begin
begin
getarg:=false; arg:="; arg_num:=paramcount;
getline:=false;
if arg_num=0 then exit
lin:='';
else
repeat
for i:=1 to arg_num do
getstdin(b);
begin
case b of
arg:=arg+paramstr(i);
32..125: if lengthClin)<254 then lin:=lin+chrCb);
if (arg_num>1) and (i<arg_num) then arg:=arg+' ';
eof_num: exit;
end;
end; {case}
getarg:=true;
until b=eoln1_num;
end;
lin:=lin+ENDSTR;
getline:=true;
end;
procedure putline(lin: maxstr);
{
Feeds a line to Standard Output byte by byte, adding
<carrage return> <line feed> at the end.
LISTING 3 : INOUT.PAS
>
procedure error(message: maxstr);
var i: integer;
begin
begin
writeln('error inregular.com: ',message);
i :=1;
halt; { stop the program }
while lin[i]oENDSTR do
end;
begin
putstdout( ord(linti]) );
function dodash(var expand: maxstr) : boolean;
i:=i+1;
C
end;
Expand character class like "a-h" to "abcdefgh".
putstdout(eoln1_num);
If syntax is wrong, D0DASH returns false and all subsequent DASH
putstdout(eoln2_num);
operators are interpreted as literal characters.
end;
>
function getargCvar arg: maxstr) : boolean;
var st: maxstr; count: integer;
{
begin
Command line parameters are returned in string ARG.
dodash:=false;
Spaces within the Regular Expression pattern are
st:=‘*;
TURBO ED IT ASM
The First Idea-Processor For Programmers.
FirsTime
Has features no other editor has.
Introducing the first co-resident editor assembler for the IBM PC family.
TURBO EDITASM (TASM) is significantly faster and easier to use than the IBM
Macro-Assembler (MASM). Whether you are new to assembly language and want
to quickly write a small assembly language routine, or are an experienced MASM
user tired of waiting months to assemble large files, TURBO EDITASM will bring
the excitement back to assembly language.
TURBO EDITASM IS MUCH FASTER:
• How fast is TASM? The graph below shows relative assembly times for a 48K
source file. For large files like this we blow MASM's doors off at 3 times their
speed. For smaller 8K files we positively vaporize them at 6 times their speed.
TASM (110 sec.)
MASM (340 sec.)
• TURBO EDITASM is faster for the following reasons: (1) Written entirely in
assembly language (unlike MASM). (2) Editor, assembler and source file always in
memory so you can go instantly from editing to assembling and back. (3) Elimi¬
nates the time needed to LINK programs. Executable COM files can be created
directly. (Also creates OBJ files compatible with the IBM linker).
TURBO EDITASM IS EASIER TO USE:
TASM includes many other features to make your programming simpler.
• Listings are sent directly to screen or printer. Assemblies can be single stepped
and examined without having to leave the editor.
• Access the built-in cross reference utility from the editor.
• Full support of 186 and 286 (real mode) instructions.
• Both Microsoft and 8087 floating point formats are supported. 8087 and 287
instructions supported directly without macros for faster assembly.
• Calculator mode: Do math in any radix even using symbols from the symbol table.
• Direct to memory assembly feature lets you test execute your code from editor.
• Coming soon: A coordinated symbolic debugger.
COMPATIBILITY: TASM is source code compatible with MASM and supports
macros, records and structures. , , . ,
Include $5.00 shipping and
. . . . n . * . A handling. California residents
Introductory Price $49 add e% sales Tax.
With .OBJ Capability $99
Dealer Inquires welcome
916-988-7426
Speedware ™
118 Buck Circle, Box T
Folsom, CA 95630
IBM, Microsoft trademarks of IBM Corp., Microsoft Corp.
□ Fast program entry through single keystroke statement generators
□ Fast editing through syntax oriented cursor movements
□ Dramatically reduced debugging time through immediate syntax checking.
□ The error checking is thorough and includes semantics • Undefined variables,
types and constants • Assignment statements with mismatched types
• Errors in include files and macro expansions
□ Automatic program formatter (you specify the rules)
Q Split Screen editing □ Command DOS from FirsTime
□ Reading a file with errors moves cursor automatically to point of error
□ Unique programmer-oriented features
• zoom command gives top-down view of program logic
• view macro command shows expansion of a C macro in the editor
• view/update include file allows you to view and update an include file
• transform command allows you to transform statements to related ones
search for next etror command
To Order Call: (201) 741-8188 or write:
SPRUCE TECHNOLOGY CORPORATION
P.O. Box 7948
Shrewsbury, NJ 07701
FirsTime for Turbo Pascal
FirsTime for dBase III
FirsTime for MS-Pascal
FirsTime for C
$ 74.95
$125.00
$245.00
$295.00
ftnjm* * • tfadwnw* m Spue* iKttndogv Coporau
UcokA Corporation • IBM m a 1/aiMmara ol Iniarnj
• Vt» PaacM ■ a aaoam^a M Bonand MamMonM • dBaM ■ ■ a karMmar. c< AomvlMa
CIRCLE NO. 242 ON READER SERVICE CARD
PC TECH JOURNAL
CIRCLE NO. 190 ON READER SERVICE CARD
if expand[1]>= , 0' then
if expand[33<= 1 z' then
if expand[1]<expand[3] then
begin
for count:=ord(expand[1]) to ord(expand[3]) do st:=st+chr(count);
expand:=st;
dodash:=true;
end;
end;
function getccl(class: maxstr) : maxstr;
{
Convert character class to internal form by removing brackets and
expanding all DASH operators. The internal form is
<prefix character <n> <char 1> <char 2> ... <char n> where prefix is
CCL for positive character class and NCCL for negative character class.
>
var encoded, parti, part2, expand: maxstr; PREFIX: char; dash_spot: integer;
begin
encoded:=copy(class,2,length(class)*2); {drop CCL and CCLEND}
if encoded[1)=NEGATE then
begin
PREFIX:=NCCL; delete(encoded,1,1);
end
else PREFIX:=CCL;
dashspot:=pos(DASH,encoded);
if dash_spot<length(encoded) then
while dash_spot>1 do
begin
parti:=copy(encoded,1,dash_spot-2);
part2:=copy(encoded,dash_spot+2,length(encoded));
expand:=copy(encoded,dash_spot-1,dash_spot+1);
if dodash(expand) then
begin
if Iength(part1)+length(part2)+length(expand)>255
then error('regular expression too complex');
encoded:=part1+expand+part2;
dash_spot:=pos(DASH,encoded);
end
else dash_spot:=0; { DASH syntax wrong. Terminate loop >
end; {while}
getccl:=PRE FIX+ch r(length(encoded))+encoded;
end;
function nextpat(var arg, pattern: maxstr) : boolean;
(*
Delete next pattern from input string ARG and return it in PATTERN.
• , ..'}' is the set of all literal characters.
*)
var class_length: integer;
begin
nextpat:=false;
if arg='' then exit;
case argil) of
ESCAPE: begin
if length(arg)=1 then arg:=arg+ESCAPE;
pattern:=copy(arg,1,2);
delete(arg,1,2);
end;
CCL: begin
patterns' ',*
class_length:=pos(CCLEND,arg);
if class_length<3 then
begin
pattern:=ESCAPE;
class_length:=1;
end;
pattern:=pattern+copy(arg,1,class_length);
delete(arg,1,class_length);
end;
ANY,BOL,EOL, CLOSURE, ' '..'}':
begin
pattern:=arg[1];
delete(arg,1,1);
end
else error('nextpat');
end; {case}
nextpat:=true;
end;
procedure literal(var pat: maxstr; ch: char);
{ Internal format for a literal character, ex. "C" --> "aC" }
begin
pat:=pat+LITCHAR+ch;
end;
function makepat(entered_arg: maxstr): maxstr;
{
Takes input parameter ENTERED_ARG and returns internal form. To
encode a closure, the CLOSURE character must be inserted before
the last pattern in the PAT string. The starting position of the
last pattern is held in OLDLENGTH.
}
var pat, arg, pattern: maxstr; old_length, new_length: integer;
begin
pat: = "; arg:=entered_arg; old_length:=0; new_length:=0;
while nextpat(arg,pattern) do
begin
case pattern[1] of
ESCAPE: pat:=pat+LITCHAR+pattern[2];
ANY: pat:=pat+ANY;
BOL: if pat=" then pat:=B0L else literal(pat,BOL);
EOL: if arg='' then pat:=pat+EOL else literal(pat,EOL);
CCL: pat:=pat+getccl(pattern);
CLOSURE: if new_length=0 then literal(pat,CLOSURE)
else
insert(CL0SURE,pat,old_length+1);
else literal(pat,pattern);
end; {case}
old_length:=new_length;
new_length:=length(pat);
end; {while}
makepat:=pat;
end;
ADALAB-PC®
Adds Lab Data Acquisition
To Your IBM®PC For $595
An ideal interface for chromatography,
, process control, etc.
ADALAB-PC includes O a 13-bit
integrating A/D, © a 12-bit fast A/D (up
to 20 kHz, add $250), © a 12-bit D/A voltage
output, © a second 12-bit D/A (add $50)* © 32
digital I/O bits, © four 16-bit timers or counters, and © a
terminator board which has a 4-channel mul-
and convenient screw
terminals (16-channel
differential analog
multiplexer with
programmable
gains from 1 to 256,
add $300).
© © Versatile ADAPT soft¬
ware and manual (free with
ADALAB-PC) works with BASIC,
FORTRAN or PASCAL, includes self-test
and data acquisition software. Supports fast DMA
sampling, extended memory storage,
scrolling stripchart display.
© LABTECH NOTEBOOK software $895.
® IMI is an IBM Value Added Dealer.
COMPLETE ADALAB-PC SYSTEMS
at $3505, including 256K IBM PC,
360KB disk, PC DOS 3.0, green moni¬
tor, color/graphics adapter, Epson
printer with adapter & cable, ADALAB-
PC, ADAPT software, plus IMI’s Scien¬
tific Plotter-PC ($95) and Curve Fitter-
PC software ($95) FREE with systems! ©Trademark of International
v ' J Business Machines Corp.
INTERACTIVE MICROWARE, INC.
■ ■ i ■■ p -0. Box 139, Dept. 237 Telex: 705250
■ UJB State College, PA 16804 (814)238-8294
MAY 1986
CIRCLE NO. 209 ON READER SERVICE CARD
Networking Raised to a
WB
Qum 1
-J
gim ,
U W Ttl S 1
'
Greater Power
Advanced Technology. With it. IBM tripled the speed of the
PC and increased its memory capacity five-fold. Nowhere is
this increase in computing power more important than in
networking situations. If the AT's technological advances
have prompted you to look into a multi-user network, you
owe it to yourself to take a closer look at MultiLink
Advanced '’ ... a unique multi-tasking, multi-user network¬
ing system that runs programs under PC-DOS 3.0.
Eight Workstations for the Price of an AT. MultiLink
Advanced " represents the next generation in networking
systems for IBM microcomputers. The system enables ter¬
minals. connected to a single AT. to emulate IBM-PC's hav¬
ing up to 448K of RAM (The PC-Shadow" terminal. shown
above, even has a PC look-alike, as well as work-alike
keyboard and display).
This means that instead of spending $3,000 per worksta¬
tion for a PC with a Kilobuck “Network Interface Board.” you
can use inexpensive terminals . . . eight of which cost less
than an IBM AT. Even if you need only one workstation
connected to your AT. you’ll realize significant savings.
MultiLink Advanced "... Instant Access to All of Your
Resources. Central to most multi-user situations is the
need to coordinate a variety of printers. With what’s been
described by PC-Tech Journal as “. . . by far. the best print
spooler for the IBM PC," MultiLink Advanced'" gives users
the option to print either at their workstations, or at a central
location. In addition, programs and files can be shared by
multiple users locally or through use of a modem. Just think
of it . . . having remote access to an AT with a lightweight
terminal modem.
Although designed to take advantage of the AT. MultiLink
Advanced " runs on all versions of PC-DOS, except 1.0. and
certain implementations of MS-DOS. A wide range of lead¬
ing programs are supported which include WordStar,
dBASE III. Multimate, and Lotus 1-2-3.
Get the Advanced Story Today. Call The Software Link
Today for complete details and the dealer nearest you. Multi-
Link Advanced " is immediately available at the suggested
retail price of $495 and comes with a money-back guaran¬
tee. VISA. MC. AMEX accepted.
IBM PC. AT. & PC-DOS are trademarks of
IBM Corp MS-DOS. WordStar. dBase III.
Lotus 1-2-3. and Multimate are trademarks
of Microsoft Corp . MicroPro. Ashton-Tate,
Lotus Development Corp . & Multimate
International, respectively.
1^1 THE SOFTWARE LINK, INC.
8601 Dunwoody Place. Suite 632. Atlanta. GA 30338 Telex 4996147 SWLINK
CALL: 404 998-0700
Dealer Inquiries Invited
CIRCLE NO. 196 ON READER SERVICE CARD
THE SOFTWARE LINK. INC./CANADA
400 Esna Park Drive. Suite 18
Toronto (Markham). Ont L3R 3K2
CALL 416/477-5480
MultiLink Advanced ,M & PC-Shadow ai
are trademarks of The Software Link. Inc
PRODUCT WATCH
Reviews
and
Updates
FORTRAN SCIENTIFIC
SUBROUTINE LIBRARY
Wiley Professional
Software
QISORT
Quantumn Information
Systems, Inc.
MINI-PRINT
Zebra Systems
FORTRAN SCIENTIFIC
SUBROUTINE LIBRARY
Wiley Professional Software
605 3rd Avenue, New York, NY 10158
2121850-6000
PRICE: $175
T he FORTRAN Scientific Subroutine
Library, introduced by Wiley Profes¬
sional Software, is designed for pro¬
grammers using FORTRAN to develop
applications in the areas of science, en¬
gineering, or advanced statistics. The
package includes more than 100 differ¬
ent technical subroutines, which are
divided into 17 major categories.
The algebraic functions in the
library include real matrix operations
(transposition, row and column opera¬
tions, vector inner products, traces,
matrix multiplication, and eigen values
and vectors); operations on matrices
with complex elements (trace, multipli¬
cation, and other arithmetic operations);
polynomial operations (evaluation, addi¬
tion, multiplication, division, greatest
common factor, and partial fractions);
interpolation using three different
methods; and polynomial differentia¬
tion. Numerical analysis can be per¬
formed with numerical integration us¬
ing five different methods; the solution
of equations using eight different meth¬
ods; systems of equations (matrix inver¬
sion, the solution of simultaneous equa¬
tions, determinants); numerical simula¬
tion of differential equations (four first-
order, four second-order, and four
third-order methods); function evalua¬
tion with complex arithmetic (square
roots, nth roots, powers, sines, cosines,
exponentials, logarithms, gamma func¬
tions, the Bessel J function, and the Le¬
gendre function); and numerical analy¬
sis (generation of Chebyshev polynomi¬
als and Fourier analysis).
The statistical functions offered in¬
clude general statistics; probability (in¬
cluding negative binomial, and hyper¬
geometric distributions); linear regres¬
sion (simple and multiple); analysis of
variance (seven different methods); and
time series analysis (moving averages,
autocovariance, gross covariance, sea¬
sonal indices, and exponential smooth¬
ing). The final category of functions
deals with utilities and graphics.
To execute properly, the routines
require a PC running DOS 2.0 or later,
at least 128KB of memory, and a
FORTRAN compiler.
The library routines were all tested
on a PC/XT with 256KB of RAM. The
machine was not equipped with an
8087 coprocessor chip. However, for
most applications, installation of the
8087 is recommended. Because the soft¬
ware is not copy protected, no prob¬
lems were encountered when transfer¬
ring the library to the hard disk.
The performance of the subrou¬
tines was more than adequate. A multi¬
ple regression with 7 variables and 101
observations was completed in seconds,
and a 10-by-10 matrix was inverted in a
short time. However, when inversion
was attempted with a 100-by-100 matrix,
an overflow resulted.
The Scientific Subroutine Library
package includes three disks and a
manual. The first disk contains the com¬
plete library compiles in a FORTRAN
.LIB file. Because this file consumes
more than 200KB of memory, users
may want to work with the individual
routine modules provided in source
code on the third disk. The second disk
contains sample programs, one per
module. The manual contains complete
listings of the library and the sample
programs, as well as a description of
the parameters of each subroutine. This
is helpful because the program listings
include few comments. The manual and
the sample programs are readable but
cannot be thoroughly understood un¬
less the user has experience with FOR¬
TRAN library routines. Telephone sup¬
port is available to registered owners.
—TONY LIMA
QISORT
Quantumn Information Systems, Inc.
145 NW. 85th Street, Suite 103,
Seattle, WA98117
206/789-2888
PRICE: $175
O ne of the advantages of Ryan-McFar-
land COBOL (RMCOBOL) (see
“Cobol Performs,” Ted Mirecki, June
1985, p. 58) is that many third-party util¬
ities are available to enhance the rather
limited language capabilities of the
Ryan-McFarland compiler, qisort is one
of these utilities. In addition to sorting
data files produced by RMCOBOL,
qisort allows the user to perform rec-
MAY1986
201
PRODUCT WATCH
ord selection and to write a file with a
record layout different from that used
in the input. It does not, however,
perform merges.
This product can be used as a
stand-alone utility executed from the
DOS prompt or as a subprogram linked
into the RM runtime system and called
from within an RMCOBOL program.
When invoked from DOS, the pro¬
gram is controlled by a command line
that specifies the sort parameters. These
parameters are of three types. Only the
first, which is the sort control param¬
eter, is required. It specifies which
fields are to be sorted, which values the
fields contain, and whether the sort is
ascending or descending. Up to 32 sort
fields can be specified. The second pa¬
rameter group specifies record selec¬
tion criteria. It is limited, however, to
determining whether the field is equal
or not equal to some constant; other
comparison operators or a comparison
value read from the input file cannot be
used. Up to 32 conditions can be strung
together using AND and OR logic. The
final input parameter specifies which
fields of the input record are to be writ¬
ten to the output file.
These input parameters allow the
user to control the sorting process.
Because no relationship is required
between the three sets of fields, selec¬
tion is not restricted to sort fields, and
neither selection nor sort fields must be
written to the output.
Unlike files produced by some data
managers, COBOL files do not include
information about the field names,
lengths, or types. This information must
be in the command line, and preparing
control input is tedious. Manually
counting bytes and retyping lines are
error-prone processes.
qisort accepts as input any of the
file types handled by RMCOBOL, includ¬
ing line sequential (variable length
records terminated by CR/LF), variable-
length binary sequential, fixed-length
binary (processed within COBOL as
either sequential or relative files), sin¬
gle-file indexed (data and indexes in
the same file), and double-file indexed
(data and indexes in separate files). For
line-sequential and variable-length
binary files, the output file is the same
type as the input if the entire record is
written. If field selection is in effect, or
if one of the other file types is being
used, the output is fixed-length binary.
When sorting indexed files, qisort
extracts only the data portion and pro¬
duces sequential output.
As mentioned above, qisort can be
incorporated into the RMCOBOL run¬
time system then called from within a
COBOL program. A small interface
module (provided with qisort) must be
linked into the runtime system using
the linker supplied by Ryan-McFarland.
At runtime, a COBOL CALL statement in¬
vokes this module which then loads the
main qisort program.
The three-part command structure
of qisort is almost as powerful as a
built-in sort capability using input and
output procedures. However, qisort is
not an adequate substitution for the
SORT verb provided by high-level im¬
plementations of COBOL. In a true in¬
ternal son, the compiler keeps track of
field positions, types, and lengths by
name. With qisort, the programmer
performs these operations manually.
Another disadvantage is that qisort
displays its logo and progress messages
while in use. This can disrupt a care¬
fully laid out screen.
qisort performs well. When exe¬
cuting the son benchmarks used in pre¬
vious reviews of high-level compilers
(see “Cobol Performs, Pan II,” Ted
Mirecki, July 1983, p. Ill and Pan III,
August 1985, p. 107), qisort turned in
times of 16 seconds for 100 records and
c
c
' COMPILERS t* I
n
HC680X0 '
►
►
Produce highly optimized code
Complete development environment: Assembler,
Linking and Downline Loaders, Runtime Libraries
►
►
Available for Motorola, DEC, and Alcyon host
computers
The #1 choice for compact, fast MC680X0 code
►
$1495 for C68 (Motorola host)
$2295 for C68/020 (Motorola host)
5010 Shoreham Place
31 ncuorv san Die g°- ca 92122
Z=tUL^^ITo5poraxiom (619) 587-1155 TELEX 5106004947
DEC is a Trademark of Digital Equipment Corporation.
ORGANIZE YOUR COPIES OF
PC TECH JOURNAL
Make your magazine collection a handsome addition to
your decor. These durable library-quality cases and
binders will protect and organize your collection, make
individual issues easy-to-find. They’re made of luxury-
look leatherette over high-quality binder board. And both
styles are custom-designed for this or any other maga¬
zine you save, with size, color and imprint selected by the
publisher. FREE transfer foil is included for marking
dates and volumes.
hold your issues on
individual snap-on
rods, combining them
into one volume
$7.95 each; 3 (or
$22.50; 6 for $42.95.
Mixed titles OK for
quantity prices.
OPEN BACK CASES
store your issues (or individual
reference. $6.95 each; 3 for
$19.75; 6 for $37.50, Mixed titles
OK for quantity prices. _
For Fast Service Call 1-212-503-5319
TEGH
JOURNAL
P.O. Box 5120 Philadelphia. PA 19141
Please send: Quantity
. Cases _Binders
PAYMENT ENCLOSED $_*Add $1.00 per
order for postage and handling. Outside USA add $2.50
per unit ordered. Send US funds only.
CHARGE MY: ($10 minimum)
□ American Express □ Visa □ MasterCard
Card No. _
_Exp. Date _
Mr./Mrs./Ms-
Address_
City/State/Zip_
* Residents of PA add 6% sales tax.
202
CIRCLE NO. 106 ON READER SERVICE CARD
PC TECH JOURNAL
109 seconds for 300 records. This
places it behind mbpCOBOL (with
times of 8 and 63 seconds for 100 and
300 records, respectively) and ahead of
Microsoft COBOL (29 and 119 seconds).
Documentation for qisort consists
of 28 typewritten pages that cover all as¬
pects of the program’s operation. The
program is not copy protected.
qisort does what it says it will do:
it provides a sort and selection capabili¬
ty for RMCOBOL files. Despite the ne¬
cessity for manual control input and the
disruption of the screen, this product is
a good bet for RMCOBOL users.
—TED MIRECKI
ters are printed in boxes that are 36
dots high and 12 dots wide.) Lowercase
mini-print characters with parts that
descend below the line require two ex¬
tra vertical dots. For every three passes
of the print head, mini-print draws two
lines of characters.
To print a file with mini-print, the
user types the following:
d:>MINI <filename>
To pipe standard input to the MINI.EXE
file, this command is used:
d:> DIR I MINI /P
The IP instructs the program to use the
standard DOS input file handle.
MINI.EXE is perhaps most useful
when stored as a memory-resident pro¬
gram. It requires 83KB of memory. To
install it and its print buffer perma¬
nently in memory, the user types:
d:>MINI /I
The resident mini-print reroutes all
printer output to a six-page buffer. It
MINI-PRINT
Zebra Systetns
851 Haddock Street, Foster City,
CA 94404
415/341-2011
PRICE: $29.95
CIRCLE 364 ON READER SERVICE CARD
Z ebra Systems has introduced a prod¬
uct designed to print up to six times
the normal capacity of type onto an 8 Vz-
by-11-inch page. This product, called
mini-print, is intended for use with a dot
matrix graphics printer. By directly driv¬
ing the dot matrix pins, mini-print prints
text in a supercompressed font.
The standard configuration of the
MINI.EXE program prints six com¬
pressed pages of 66 lines each on an 8v
2 -by-ll-inch sheet of paper. MINI.EXE
also can print a single page that is 192
characters wide and 198 lines long.
This extended column format is
useful for printing program listings,
spreadsheets, and database files. The
tiny six-point type also is helpful when
printing directory listings.
mini-print draws characters using a
printer’s graphics mode; each character
is fitted inside a box that is 10 dots high
and 5 dots wide. (Standard-sized charac-
When You Demand Precision Data Acquisition
At The Lowest Possible Cost—Demand The Analog Connection™
NOW, NEW FROM STRAWBERRY TREE COMPUTERS,™ The Analog Connection™ is
available in fast 12- and 16-bit models for the IBM® and IBM compatible computers.
The 12- and 16-bit cards (with speeds up to 25KHz) and our unique software handle
control, data logging, real
time, graphing, alarms,
and maximum, mini¬
mum, average and differ¬
ence readings.
The Analog Connection
features 8 or 16 differential
analog inputs expandable
to 240 with additional
cards. It accepts thermo¬
couples, RTDS, preSSUre iBMis a trademark of International Business Machines Corporation. Apple is a trademark of Apple Computers
sensors, strain gauges, voltages, currents and other inputs. Cold junction compen¬
sation and linearization for thermocouples is included. Inputs are protected to 150
volts with 50 millivolt to 10 volt ranges on the analog inputs. Calibration is guaran¬
teed to remain within specifications during our two-year warranty period.
No Programming Required!
The Analog Connection for both the IBM and Apple® personal computers offers new,
faster software with added features (such as real time graphing) making data
acquisition and control a snap.
Prices start at just $790 for the 12-bit Analog Connection StfclWbGITy
Computer^
( 408 ) 736-3083
and $1290 for the 16-bit model. Ask about our free trial
offer and demonstration diskette. CALL TODAY!
1010 WEST FREMONT AVENUE
SUNNYVALE, CA 94087
MAY 1986
CIRCLE NO. 204 ON READER SERVICE CARD
PC <0 i) MAINFRAME
VIA 9-TRACK TAPE
For Information Interchange — Backup
Archival Storage ...
IBM format compatible 9-track, Vfc inch magnetic tape is the universally
accepted media for mainframes and minicomputers. Now Catamount
offers Low Cost , Lightweight 9-track Tape Subsystems for the IBM-PC/XT/
AT computers which allow:
• Reading tapes generated on mainframes and minicomputers.
• Writing tapes to be read on mainframes and minis.
• ASCII, EBCDIC and Binary tapes accommodated.
• 800 bpi NRZI, 1600/3200 bpi PE, and 6250 bpi GCR format systems
available.
• Storage capacities up to 180 MB on a single reel.
Systems come complete with comprehensive DOS command syntax
oriented software and an Installable Device Driver. For OEM applications,
the tape controller is available separately.
Catamount
Corporation _
2243 Agate Ct. • Simi Valley, CA
(805) 584-2233
CIRCLE NO. Ill ON READER SERVICE CARD
UNBEATABLE PRICES!
FULLY PC COMPATIBLE
256K Accelerator $495
• 10 MHz, 8086 Microprocessor
• 2.5 to 4 Times Faster than IBM PC/XT
Accelerator with Clock I/O $575
• Same Features as 256K Accelerator, plus...
• Clock/Calendar; Serial and Parallel Ports
Accelerator with 8087 $695
• Same Features as 256K Accelerator, plus...
•10 MHz 8087
M No Slot" Clock $55
• Does Not Require a System Expansion Slot
• Plugs into the 8088 Socket
‘Expandable to 640K. Write or call for prices.
- All products designed, manufactured, and tested
in the USA
- Write or call for spec sheets and dealer pricing.
( 503 ) 627-0570
Visa/MC/COD/Money Order/Check
LEXIM Trading (U.S.A.), Inc.
15025 SW Koll Parkway, 1A
Beaverton, OR 97006
VT100/VT52 & Tektronix™
4010/4014 Terminal Emulator
Excellent emulation and the features you want:
m
u
h
>
-*• use 4096 x 3120 resolution
-+ zoom, pan, and window plots
high resolution printer dumps
-a cho 086 text and plot color
-* transfer files with
XMODEM and Kermit protocols
-» scroll last 4 pages of text
-■> 132 column VT100 capability
18 User-definable keys
capture plots and text on disk
full or half duplex
access to DOS commands
all VT100 keypad commands
command line editing
fast direct screen access
password security
VTEK makes your PC better than a terminal
$150 from Scientific Endeavors
Publication Quality Graphics for
Scientific and Technical Applications
m r g
Ue
In
CL
ID
L
in
multiple levels of J}Jg or scripts
4096 x 3120 resolution
zoom, pan, window plots
multiple plot9 on a page
high resolution printer
dumps, full or half page
plotter support in COLOR
-♦ linear, log, & polar plots
-» bar charts & Smith charts
-> contour plots with labels
-* 3-D curves, 3-D surfaces
with hidden line removal
-» 4 curve types, 8 markers
-» 14 fonts, font editor
16 color plots on EGA, Sigma, TeleVideo & Tecmar boards
Over 100 routines can be called by your
C program. $350. Demo $8.
SOURCE INCLUDED for private use only.
For DeSmet, C-86, Aztec, Lattice, and Microsoft C compilers.
Scientific Endeavors
Route 4, Box 79; Kingston, TN 37763
[615] 376-4146
For 256k IBM and Corona PCs, DOS 2.xx,3.xx
Epson, Okidata, Toshiba, C. Itoh printers.
Hewlett Packard, Houston, Sweet-P plotters.
Corona Laser printer. IBM, IBM EGA, Sigma.
TeleVideo, Tecmar, Hercules, Corona graphics.
A compatible assembler is required.
THIS AD WAS MADE USING Graphic"
CIRCLE NO. 187 ON READER SERVICE CARD
Real-Time Multitasking Executive
■ No royalties
■ Source code included
■ Fault free operation
■ Ideal for process control
■ Timing control provided
■ Low interrupt overhead
■ Inter-task messages
Options:
■ Resource Manager
■ Buffer Manager
■ Integer Math Library
■ Language Interfaces:
C Pascal
PL/M Fortran
■ DOS File Access :
CP/M-80
IBM PC DOS
AMX isTM Of KADAK Products Ltd.
CP/M-80 isTM of Digital Research Corp.
IBM. PC DOS areTM of IBM Corp.
AMX for 8080 $ 800 US
8086 950
6809 950
68000 1600
Manual (specify processor) 75
Jk KADAK Products Ltd. < 6 ° 4 > 734-2796
Telex: 04-55670
"" 206-1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5
CIRCLE NO. 138 ON READER SERVICE CARD
CIRCLE NO. 112 ON READER SERVICE CARD
204
PC TECH JOURNAL
PRODUCT WATCH
DO YOU STILL BELIEVE IN THE DOS 32 MEGABYTE LIMIT?
then waits for a full six pages of text be¬
fore engaging the printer. The AJ com¬
mand forces the program to print out
all text stored in the buffer and relin¬
quish control. This does not return the
program’s memory to DOS, but the
user can call the program again without
taking additional memory.
Other commands allow for half-
and full-page form feeds. The full-page
feed acts as the standard form feed but¬
ton on any printer, but maintains the
critical line positioning required by
mini-print. Exact page formatting is most
important. A tiny error in the top mar¬
gin can cause lines to be printed over
perforations. Another disadvantage is
that the user cannot adjust the blank
space between lines. When text is
printed in all capital letters, the lines al¬
most touch and are difficult to read.
mini-print is highly sensitive to dis¬
turbance while printing. One page can¬
not be torn away while another page is
being printed. Even this slight pressure
causes text to fall out of alignment.
mini-print is supported by those
printers that interpret the ESC 3 and
ESC L control codes as they are inter¬
preted by IBM printers. The ESC L com¬
mand sets an IBM printer to a double
density graphics mode that allows 120
dots per horizontal inch. ESC 3 sets
IBM printers to space vertical lines in
increments of ^i6 of an inch. Other
printers that similarly interpret these
commands include the Epson MX-80/
100 with Graftrax, the Epson RX and FX
series, Citizen, Roland, and Panasonic.
For this review, mini-print was
tested on a PC/AT with 640KB of mem¬
ory, a PC/XT with 512KB, and a PC with
640KB. These machines were attached
to an IBM ProPrinter, an Epson MX-80,
and a Panasonic KX-P1091. In each case,
the program operated the printer with¬
out error. When running on the Pro-
Printer, mini-print used the 120 dot-per-
inch mode, even though this printer
offers a sharper 240 dot-per-inch mode.
The software is packaged in a thin
plastic slipcover. The documentation is
typeset in six-point characters on the
back of the black and white diskette
cover. The information is terse, but ade¬
quately describes the basics necessary
to using the program.
The software package includes the
MINI.EXE program, a backup copy
called MINI.BAK, sample files, and a
demonstration batch file. Also included
is a utility that allows mini-print to print
on both sides of a piece of paper.
—TOM SWAN
IHIMl
^feature Deluxe Serial no. 301136
Version 2.21 (C)Copyright Golden Bow Systeas 1984, 1985, 1986
Over
IBtl Personal Computer DOS Version 3.10
Ochkdsk
392691712 bytes total disk space
65536 bytes in 2 bidden files
557056 bytes in 17 user files
65536 bytes in bad sectors
392003584 bytes available on disk
393216 bytes total aeaory
186944 bytes free
C>
This is a photograph ofaCHKDSK screen on an IBM PC with
two Winchester drives spanned by Vfeature™ Deluxe to create
a logical DOS drive of 392 Megabytes.
You can use Vfeature for drive-spanning, as we did in the illustration (to 1
Gigabyte), or you can use it to turn one or two drives into a lot more—up
to twenty-three logical disk volumes which DOS sees as separate drives.
You can also use Vfeature to attach drives to your computer which are not
normally supported by your controller.
Vfeature works with the AT, XT, and most compatible hard disk controllers,
including RLL and ESDI controllers. SCSI support will also be available
soon. You don’t need to modify the hardware to use Vfeature.
Vfeature comes with everything you need to install it—a physical format¬
ter with bad track mapping, a high-level format, a thorough manual, good
Tech Support when you need it—and the extras, such as letting you select
the size of the cluster for each volume (bet you thought that was another
DOS limit), and letting you set passwords to lock your keyboard, your
disk, and your system.
Vfeature comes in two versions, standard and Deluxe. The Deluxe version
may be a requirement for using certain drives on the AT.
Vfeature (standard) operates with most DOS versions—within the
32 Megabyte "limit" per DOS disk volume. Disk spanning is not
supported.
Vfeature Deluxe operates with IBM PC-DOS only—allowing DOS
disk volumes to 1 Gigabyte! Disk-spanning is fully supported.
Vfeature—your link to the Megadisks!
Vfeature $80
Vfeature Deluxe $120
$3 shipping/handling—California orders add 6%
Golden Bow Systems
2870 Fifth Avenue, Suite 201
San Diego, CA 92103
(619)298-9349
The system in the illustration used an Adaptec 2070 hard disk controller interfacing two Maxtor drives, an
XT-1140 and an XT-2190.
Vfeature is a trademark of Colden Bow Systems Other product names may be trademarks or registered trademarks of their respective companies
CIRCLE NO. 110 ON READER SERVICE CARD
MAY 1986
205
New for IBM PC/XT/AT
low cost mag tape subsystem
• Fast controller—40Kbytes/second
• New MAINSTREAMER™ tape drive
• Small size, lightweight
Send for our complete drive and interface manuals so
you can evaluate and compare. Only $25 for both.
Tape systems are also available for all other RS-232-C
interfaces. Call or write attn: IBEX Applications
Engineer today.
IBEX
Right for the times
IBEX COMPUTER CORPORATION
20741 Marilla St.. Chatsworth. CA 91311
(818) 709-8100 TWX: 910-493-2071
CIRCLE NO. 149 ON READER SERVICE CARD
CIRCLE NO. 185 ON READER SERVICE CARD
Real Time Devices' GP100 is am\\ capability GPIB (IEEE
488) interface for the IBM® PC That includes high-speed
software for the single quantity'price of $299.
• Over 40 high and low level GPIB commands
•Fast assembly language extensions to BASIC
•DMA and interrupt capability
•Comprehensive tutorial/instruction manual
• No hidden software, cabling, or documentation charges
•Supports up to 15 devices
• FORTRAN, PASCAL, and FORTH extensions available
Even if you're not familiar with GPIB interfacing, the GP100
will have you controlling this powerful bus in no time at all,
allowing you to focus on your application requirements.
So if you've been intimidated by the complexity or cost of
other GPIB implementations for the IBM PC call on us to
help — you'll be pleasantly surprised.
Real Time Devices, Inc.
PARK FOREST A VENUE
OX 906
COLLEGE. PA 16804
1-8087
WIZARD C
“...The compiler’s performance makes it very useful in
serious software development.” ^ j> ec y L j ourna /
January, 1986
“ Wizard’s &ot the highest marks for support.”
“The Wizard compiler had excellent diagnostics; it would
be easier writing portable code with it than with any
other compiler we tested.” ~ ^ , , , T i
Dr. Dobb s Journal
August, 1985
“...written by someone who has been in the business a
while. This especially shows in the documentation.”
Computer Lan&ua&e
February, 1985
Discover the powers of Wizard C
for yourself!
Full Lint checking,, six memory models, 8087 support,
in-line assembly lan&ua&e, ROMable data support, full
library source code. Cross-compilers are available on
VAX/VMS and UNIX machines.
Only $450.
NA/izB^rd
SYSTEMS SOFTWARE, INC.
(617) 641-2379
11 Willow Court
Arlington, MA 02174
CIRCLE NO. 165 ON READER SERVICE CARD
CIRCLE NO. 221 ON READER SERVICE CARD
206
PC TECH JOURNAL
LEGAL BRIEF
MAX STUL OPPENHEIMER
Software Goods or Services?
The sale of computer software can be considered a transaction
of goods and is, therefore, covered by the UCC.
O ne of the fundamental questions of
computer law is whether software
constitutes goods or services. This issue
is significant because a set of laws
known as the Uniform Commercial
Code (UCC) creates rights and rules of
conduct applicable to goods but not to
services. (The UCC has been adopted by
every state except Louisiana.)
Despite its importance, the ques¬
tion of software as goods or services
has remained largely unanswered. Sev¬
eral courts have considered the issue of
whether bundled software and hard¬
ware constitutes goods, and the conclu¬
sion has been that the bundle should
be considered goods. These decisions,
however, could have been based upon
the comparative value of hardware and
software.
In September 1985, however, a fed¬
eral court of appeals was faced with the
pure question of whether software
alone constitutes goods or services. The
case was RRX Industries, Inc. v. Lab-Con
Inc.. (772 F.2d 543, Ninth Cir. 1985).
The facts of the RRX case were
quite straightforward. The user had en¬
tered into an agreement to license soft¬
ware and to acquire support and train¬
ing from the licensor. The contract pro¬
vided that the licensor:
warrants that the software shall be free
of programming ‘bugs’ for the term of
the license, and that [the licensor] shall
correct any such programming ‘bugs’
...at no cost to the user. The liability
of [the licensor] under this warranty,
or under other warranty expressed or
implied, shall be limited in amount
[to the sum] that shall have actually
been paid by the user...pursuant to...
this Agreement.
Although this warranty is broader than
most, the limitation of liability does not
differ materially from the standard limi¬
tation of liability used in most shrink-
wrapped license agreements.
The trial court concluded that the
software never functioned as intended
and that the licensor neither corrected
the bugs (apparently because two key
employees had left the company) nor
provided sufficient training.
One of the most important issues
of the case was whether the limitation
of liability set forth in the contract was
effective: if it was, the user was entitled
only to be reimbursed the amount paid
for the system ($40,866.66); if it was
not, however, the user was entitled to
recover not only the purchase price of
the system, but also consequential dam¬
ages (a total of $48,223.05).
Legal issues such as this often are
decided on the basis of an analogy (see
“Sales Tax and Software: Nothing is
Simple,” Legal Brief, January 1984,
p. 196). For example, the sale of a piece
of software can be compared to the sale
of a phonograph record. In both cases,
the product has little intrinsic value but
contains encoded information that,
when decoded by the appropriate
mechanism, holds significant value for
the purchaser. A phonograph record is,
without question, a good, and its sale is
governed by the UCC. Therefore, if the
record analogy is accepted, a diskette
containing software also should be con¬
sidered a good, the sale of which is
covered by the UCC.
On the other hand, consider a
bookkeeper and a bookkeeping pro¬
gram. From the customer’s point of
view, it should not matter whether the
books are kept by a human bookkeeper
(clearly a transaction of services, not
goods) or by a computer program. Pre¬
sumably, the results are the same in
both cases. If this analogy is accepted, a
diskette containing bookkeeping soft¬
ware should be considered a service,
even though the diskette itself can be
considered a good.
The appeals court hearing the RRX
Industries case concluded that the trans¬
action between RRX and Lab-Con in¬
volved goods and that, as a result, the
UCC of California applied. The court
awarded the user consequential dam¬
ages as well as the purchase price of
the system. The remedies that the par¬
ties had written into the contract were
rendered ineffective by the licensor’s
inability to live up to its end of the
agreement and debug the software; the
court “properly found the default of the
seller so total and fundamental that its
consequential damages limitation was
expunged from the contract.”
The court did not go so far as to
conclude that software is, in all cases, to
be considered goods. Its decision was
based on a case-by-case analysis of
whether a sale aspect or a service
aspect predominated in each transac¬
tion. The analysis does suggest, how-
MAY1986
207
ILLUSTRATION • MACIEK ALBRECHT
LEGAL BRIEF
ever, that the software itself was viewed
as goods, and that the issue was wheth¬
er the contractual provisions for em¬
ployee training, repair services, or fu¬
ture upgrades—which apparently were
viewed as services—were important
enough to outweigh the sale-of-software
aspect of the transaction.
A dissenting opinion pointed out a
problem with the court’s decision. Sup¬
pose, it posited, that a Fortune 500
company purchases a licensor’s soft¬
ware. The licensor might consider the
purchase price inadequate to compen¬
sate for the possibility of consequential
damages (which, in the case of a large
user, could be very large). Should not
the Fortune 500 company be free to
bargain for a lower price in exchange
for eliminating the possibility of conse¬
quential damages?
A reply might be to consider the
situation in which the seller of the soft¬
ware is a Fortune 500 company. In this
case, the licensor does not have to bar¬
gain with the user, but can impose an
absence of meaningful remedies upon
the smaller company.
In the RRX Industries case, less
than $7,500 was at stake. Nonetheless,
the decision of the case has potentially
widespread implications. Although the
transaction was termed a license agree¬
ment, the court held that the UCC ap¬
plied. If a bargained limitation of reme¬
dies can be invalidated, the possibility
of invalidation is even stronger in the
case of shrink-wrapped licenses, which
do not involve bargaining. If the sale of
software that carries with it a promise
of training, maintenance, and upgrades
can be termed “predominantly” a trans¬
action of goods, then software sold off
the shelf without any agreement con¬
cerning training, maintenance, or sup¬
port also can be considered goods and
covered by the UCC.
Because the warranty in the RRX
case provided that the “software shall
be free of programming bugs,” and be¬
cause the court found that the software
was not free of bugs, the question of
implied warranties did not need to be
addressed; all that mattered was the
UCC’s restrictions on limitations of
remedies. The UCC, however, also con¬
tains provisions that create implied war¬
ranties. These provisions can be used to
invalidate limitations on the scope of
warranties if those limitations are con¬
sidered so severe that they “cause an
exclusive or limited remedy to fail of its
essential purpose.”
Additional UCC sections of interest
make provisions for the following:
If the court as a matter of law
finds the contract or any clause of the
contract to have been unconscionable
at the time it was made the court may
refuse to enforce the contract, or it
may enforce the remainder of the con¬
tract without the unconscionable
clause, or it may so limit the applica¬
tion of any unconscionable clause as to
avoid any unconscionable result.
Unless otherwise agreed, a seller
dealing in goods of the kind that he
regularly sells warrants that those
goods shall be delivered free of the
rightful claim of any third person by
way of infringement or the like....
Express warranties can be created
by any description of the goods which
is made part of the basis of the bargain
or by any sample or model which is
made part of the basis of the bargain.
It is not necessary to the creation of
an express warranty that the seller use
formal words such as ‘warrant’...or
that he have a specific intention to
make a warranty....
Unless stated otherwise, a war¬
ranty that the goods shall be merchant¬
able is implied; to be merchantable,
goods must, among other require¬
ments, pass without objection in the
trade under the contract description
and be fit for the ordinary purposes
for which such goods are used. If the
seller understands the use of a good
that is intended by the buyer as well as
the reliance the buyer is placing on
the seller’s judgment when selecting
the suitable good, a warranty of fitness
for that particular use is implied.
Modification (or exclusion) of
warranties must be handled in a
manner specified by the UCC.
Every contract or duty...imposes
an obligation of good faith in its per¬
formance or enforcement.
The decision of the RRX Industries
case is only binding on federal courts
of the ninth circuit. It is open to a fu¬
ture defendant in another jurisdiction to
argue against the analysis of this case.
Because the decision was made on a
case-by-case basis, future defendants are
left with the possibility of arguing that
their cases are different from the RRX
case. Software companies are probably
instructing their lawyers to rethink their
contracts at this very moment; hardware
companies, too, might have cause for
reflection. I 1111 —)
Max Stul Oppenheimer, PC, is a partner in
the law firm of Venable, Baetjer & Howard,
located in Baltimore, Maryland.
P ERSTOR’_
Removable Hard Disk Cartridge Expansion Systems
BERNOULLI ALTERNATIVE!
■ High Performance Fixed and Removable from 10 to 560 mbyte
■ Internal or
external mount
■ The only Removable Hard Disk Cartridge Drive that attaches
directly to the IBM PC-AT Controller*—internally mounted
p ERSTOR ifg) products provide portability, storage and backup for
IBM-PC, AT, XT and compatibles.
DOS, Xenix, Multi-User and Networks
Dual removables 12MB/12MB external $2,350.00
SYSTEMS & SOFTWARE, INC. (602) 948-7313
7825 East Redfield Road, Scottsdale, AZ 85260
‘Patent Pending Copyright 1985 PerstoP® is a trademark of Systems and Software, Inc.
IBM-PC, AT, XT, are registered trademarks of International Business Machines Corp.
CIRCLE NO. 231 ON READER SERVICE CARD
208
PC TECH JOURNAL
INDEX TO PRODUCTS
PC TECH JOURNAL MAY 1986
RS# PRODUCT ADVERTISER PAGE RS# PRODUCT ADVERTISER PAGE
116
202
248
145
240
240
200
206
212
212
216
138
241
230
147
177
165
124
197
194
236
238
189
111
179
107
149
209
141
185
231
237
154
IBM COMPUTERS AND COMPATIBLE UNITS
DART Advanced Logic Research ....Cover 3
PC Bus 1-Bus-Systems .175
PC AT IBM Corp.44-45
Turbo PC PC’s Limited .131-133
Tech PC, XT, AT Tech Personal Computers .70
Tech Turbo PC, XT, AT Tech Personal Computers .70
ACCESSORY CARDS
PC-elevATor Applied Reasoning Corp.58
Graphics Solution Array Technologies, Inc.78
Turbo ACCEL 286 Earth Computers .171
Turbo Slave Earth Computers .171
Above Board Intel Corp.72-73
Lexim Accelerator Board LEXIM Trading (USA) Inc.204
286 Express Card PC Technologies .128
Modular Graphics Card Paradise Systems, Inc.24-25
EGA Solution Quadram Corp.84
Data Acquisition QuaTech, Inc.194
GPIB Interface Real Time Devices, Inc.206
Top Board Seattle Telecom & Data, Inc.189
JRAM-3 Tall Tree Systems .Cover 2
JLaser Tall Tree Systems .139
Z80H Bluestreak TLM Systems .105
68000/68010/68020
Coprocessor TLM Systems .107
X-3 Multifunction Accelerator
Card Trailridge Research, Inc.152
MASS STORAGE HARDWARE
9 Track Tape System Catamount Corp.204
GIGAfile CORE International .98
Mass Storage Systems Emerald Systems Corp.114
TS-100 forlBM PC/XT IBEX Computer Corp.206
Data Aquisition Card Interactive Microware, Inc.199
The Companion Card MEGA-OMEGA Systems, Inc.48
TC-50 and TC-PC Overland Data, Inc.206
Perstor Systems & Software .208
VCR Backup TLM Systems .103
PRINTERS-PLOTTERS
PLOT88 PLOTWORKS, Inc.185
ALTERNATE INPUT DEVICES
156 Softstrip System Cauzin Systems, Inc.8-9
105 C Library/Greenleaf Functions Greenleaf Software . 174
DATA ACQUISITION
204 Analog Connection Strawberry Tree Computers .203
SECURITY DEVICES
157 Data Sentinel
157 Software Sentinel
173 THE BLOCK
Rainbow Technologies .194
Rainbow Technologies .194
Software Security .21
155
COMMUNICATIONS HARDWARE
Transet 1000 Hayes Microcomputer Products,
Inc.20
COMMUNICATIONS
245 BLAST
217 CXI Remote
103 DaTapaSS
160 Secret Disk
188 Carbon Copy
167 Remote
166 SFT Netware
130 ZAP
Communications Research
Group .
CXI, Inc.
DTSS, Inc.
Lattice, Inc.
Meridian Technology .
Microstuf .
Novell .
Solution Systems .
.142
.109
. 160
.125
.86
Cover 4
.6-7
.170
SOFTWARE FOR PROFESSIONALS
101 Fortran Support for IBM PC,
XT, AT Alpha Computer Service .180
156 Softstrip System Cauzin Systems, Inc.8-9
106
109
214
203
249
114
227
102
215
104
158
133
119
*
144
125
146
222
171
180
150
201
168
127
123
190
242
183
183
152
184
192
193
115
PROGRAMMER’S TOOLS
C68
Source Print
Debugging Tools
PC Probe
Software Source
Programming Tools
DeSmet C
SPF/PC Editor
d Best Tools
“Vitamin C”
Periscope
ZIPCALC
C-Library/C-Windows
Editcheck
CTree
PC-Lint
Utilities, Editors, Functions,
Graphics
Concerto
HELP/Control
C Cross Compiler
Productivity Tools
Various
UCSD Pascal
Norton Editor
Btrieve
The Visible Computer
Window Dos
BRIEF
Turbo Editasm
Firstime
Basic Prog. Tools
C Functions Library
TASKVIEW
Turbo-Task
Flash Code, Screen Sculptor,
Flashup Windows
Turbo Extender
Windows for C, Windows for
Data
Alcyon Corp.
Aldebaran Laboratories, Inc. .
Answer Software .
Atron .
Atron .
Blaise Computing, Inc.
C-Ware .
Command Technology Corp.
Comtel ...
Creative Programming Cons.
Data Base Decisions .
Dynamus Micro-Data Systems
Inc.
Entelekon .
Everest Solutions, Inc.
FairCom ..
Gimpel Software .
..202
..169
.... 22
.... 10
..173
..145
..186
..150
.188
..186
.5
.155
.108
.149
.130
.179
Lifeboat Associates ...
LeBlond Software .
MDS, Inc.
Microtec Research .
OPT-Tech Data Processing .
PC Brand .......
Pecan Software Systems, Inc.
Peter Norton Utilities .
SoftCraft .
Software Masters .
Software of the Future, Inc.
Solution Systems .
Speedware .
Spruce Technology ...
Sterling Casde .
Sterling Castle .
Sunny Hill Software .
Tangent Technologies .
.80
.18
.176
=3
110-111
.123
.192
.2
. 161
.182
.16
.198
.198
.134
.134
.181
.184
The Software Bottling Co. of NY .19
Turbo Power Software .156
Vermont Creative Software .23
101
247
121
140
108
no
228
164
198
199
176
178
113
187
135
118
21 1
143
148
112
239
142
SOFTWARE UTILITIES
Fortran Support for IBM PC, XT,
AT Alpha Computer Service .180
1 dir Bourbaki, Inc.14
Copy II PC Option Board Central Point Software, Inc.148
Scout Chalcedeony Software .197
Fastback Fifth Generation Systems .15
V Feature Golden Bow Systems .205
CopyWrite Quaid Software .157
file MASTER Schuller & Associates .193
HD Tune-Up SofCap Inc.129
Carousel SoftLogic Solutions .119
Cubit SoftLogic Solutions .121
“Sybil” SOPHCO .135
Percent lliompson Automation .178
GRAPHIC SOFTWARE
Flowchart Haven Tree Software Limited .172
Graphic Scientific Endeavors .204
DATA BASE MANAGEMENT SOFTWARE
DBASE m-PLUS Ashton Tate ..90-91
Data FLEX Data Access Corp.62
MDBS HI Micro Data Base Systems Inc.116
Multi User R:BASE Microrim .164-165
INFORMIX-SQL Relational Data Base Systems,
Inc.124
ZIM Zanthe Information, Inc.1
OPERATING SYSTEMS
Real-Time Multi-Tasking Exec. KADAK Products Ltd.204
QNX Quantum Software Systems, Inc. .. 88
MICROPROCESSORS
PC Turbo 286E Orchid Technology .13
LANGUAGES
136 Prolog Compiler & Interpretor
251 Turbo Pascal Family
252 Turbo Prolog
139 PROLOG i
131 ‘Ecosoft C
170 Utah Software
* C-terp
122 LISP
132 Interactive-C
128 F77L Lahey Fortran
144 Lattice C
229 Modula 2/86
208 Aztec C86 3.4
172 mbp COBOL
* Quick BASIC
181 Instant-C
174 Fortran
126 PROLOG 86
129 TransLISP
195 Better BASIC
191 True BASIC
221 Wizard C-Compiler
Arity Corporation .151
Borland International .37
Borland International .39
Chalcedeony Software .195
Ecosoft, Inc.138
Ellis Computing .137
Gimpel Software .158
Gold Hill Computers Inc.102
IMPACC Associates, Inc.154
Lahey Computer Systems, Inc.82
Lifeboat Associates .80
LOGITECH, Inc.101
Manx Software Systems .40
mbp Software & Sys. Tech., Inc. 183
Microsoft Corp.127
Rational Systems, Inc.120
Ryan McFarland .162
Solution Systems .187
Solution Systems .187
Summit Software Technology,
Inc.96
True BASIC, Inc.147
Wizard Systems Software, Inc.206
NETWORKING PRODUCTS
186 3 Plus
117 ONE STOP LAN Solution
196 Multilink Advanced
182 Tiara Link
LITERATURE
134 Ashton Tate Pubs.
* Newsletter
161 Prentice-Hall Books
159 Brady Books
OTHER SERVICES
* Programming Software Design
MAILORDER
163 Mail Order
145 Mail Order
175 Mail Order
220 Mail Order
162 Mail Order
151 Mail Order
3 COM Corp .42-43
Intercontinental Micro Systems . 122
The Software Link .200
Tiara Computer Systems, Inc.104
Ashton Tate .68
Microsoft Coip.28
Prentice-Hall Books .141
Prentice-Hall Books .163
McGraw-Hill .33-35
Floppy Disk Services, Inc.140
PC^ Limited .131-133
Programmer’s Connection .49-51
Programmer’s Shop .46
Programmer’s Shop .26
Programmer’s Shop . 27
MAY 1986
209
TECH MART
ASMLIB
ASSEMBLY PROGRAMMING LIBRARY
• NO ROYALTIES REQUIRED
• Graphics - Color. Here Monochrome. EGA
• Floating Point Trigonometry and Arithmetics
• 8087 Supported but not required
• ASCII to Numeric conversions
• Formatted Output (PRINT USING)
• Console I'O with Windowing
• DOS Shells
• Sound Generation
• Plus much, much more
ASMLIB has over 170 functions for the IBM
PC'XT'AT or compatible under DOS 200 or
newer Supplied in MS Assembly language
source code on 3 DOS Diskettes with 215+
page reference manual v
All.for only $149 00 ppd
BC ASSOCIATES
13073 Springdale Street. Suite 134
Westminster. California 92683
(714) 741-3015
CIRCLE 376 ON READER SERVICE CARD
if ANSI-
CONSOLE"
The Integrated Console Utility TM
Ail the little things IBM forgot!
for IBM—PC, XT, AT & clones.
• 1.2 to 3.0 times faster DOS & BIOS
screen writing
• more escape sequences than ANSI.SYS
• usable in any language
• scroll recall facility
• compatibility w/PC & AT software
• full EGA support
• 255 character typeahead buffer
• increase key repeat rate
• no scroll blink for some adaptors
• VT 100/52 emulation
• auto dual screen disable
• keyboard induced breakpoints
• window support
• support for 50 line display
• many many more little features
400p Manual (w/slip case) & disk $75, or just
Shareware disk $25. As described in EC-World
February 86, pg. 282 and in Lotus June 85, pg. 8.
HERSEY MICRO CONSULTING, INC.
Box 8276E. Ann Arbor, MI 48107
(313)994-^259 x363 VISA/MC
CIRCLE 380 ON READER SERVICE CARD
PERFECT COPIES
GUARANTEED
Why risk duplicating your important
programs on your computer, when our
equipment is designed solely to dupli¬
cate disks and verify their perfection
100 %?
Over 600 formats. 3 V 2 ", 5Va' and 8".
Plus serialization, copy protection, la¬
beling, packaging, shrink-wrapping
and fast, personalized service.
Western
Transdata line.
DISK DUPLICATION
1701 E. Edinger Ave.
Building A4
Santa Ana, California 92705
(714) 547-3383 (Collect)
64K-128K-256K
DRAMS
80287-8 ■ 80287-3
8087-3 " 8087-2
8087-1
6 I T T N € R
6L6CTRONICS
899 SOUTH COAST HIGHWAY
LAGUNA BEACH, CA 92651
( 714 ) 497-6200
CALL NOW FOR FREE CATALOG
CIRCLE 377 ON READER SERVICE CARD
FORTRAN
or
PASCAL
PROGRAMMER?
READ
THIS
AD
s
GRAPHICS
• Text/graphics generics
• 2D interactive
• 2D plots (full support) including
auto-scaling, auto-axis genera¬
tion, auto-labeling, tabular/log/
parametric curves, splines, bars,
pies, you name it, we have it.
• 3D Plots incl. 2 hidden line remov¬
al options—not just old-fashioned
wire frame.
PEN PLOTS
• Standard plotter primitives plus
• FULL 2D support plus
• Interface to screen graphics,
• Limited 3D.
Clear and complete documentation.
GRAFMATIC $135.
PLOTMATIC 135.
MICROCOMPATIBLES
301 Prelude Drive
Silver Spring, MD 20901
(301) 593-0683
Learn the
Interactively
Step-by-Step With
iKtmdMhtfQ
Introducing C is a powerful C language training system that
combines a thorough, self-paced manual with a unique C IN¬
TERPRETER to provide a fast efficient method of learning C
A COMPREHENSIVE APPROACH
Introducing C covers all the essential elements of C The
Interpreter utilizes standard K&R syntax and operators - lull
structures and unions, arrays, pointer and data types It pro¬
vides the standard I/O library and an extended graphics library
The package has many user oriented features including a
screen text editor and extensive error diagnostics (includes
dynamic trace capabilities)
INTRODUCE YOURSELF. TODAY
Introducing C is available (or immediate delivery System re¬
quirements are IBM PC. XT or AT with one disk drive and 192K
bytes of memory Priced $125.00 Not copy protected
TO ORDER CALL 800-922-0169
B i COMPUTER
I INNOVATIONS, INC.
980 Shrewsbury Ave.. Tinton Falls. NJ 07724 • (201) 542-5920
CIRCLE 378 ON READER SERVICE CARD
TERMINAL
EMULATION
Softerm PC emulates over 30
popular terminals including the:
• DEC VT102, VT220
• Data General D200, D410
• IBM 3101-20 [block mode]
• Hewlett-Packard 2622A
• Honeywell VIP7801, VIP7803
Guaranteed Compatibility
Call for free product brief
$195 MC-VISA-COD
For the IBM PC/XT/AT, DG1, NEC,
Wang PC, Tl Pro, Gridcase, Tandy
SOFTRONICS
7899 Lexington Dr., Ste 210
Colorado Springs, CO 80918
C303] 593-9540
CIRCLE 381 ON READER SERVICE CARD
REPRINTS AVAILABLE
Quantity reprints of articles appearing
in PC Tech Journal are available and
will be prepared to meet any special
requirements. Inquiries should be
directed to Eileen Pfeiffer, Reprints
Dept., Ziff-Davis Publishing Co., 1 Park
Ave., New York, New York 10016,
Phone 212-503-5447
BSH
TOURNAL
210
CIRCLE 382 ON READER SERVICE j3ARD
CIRCLE 383 ON READER SERVICE CARD
PC TECHJOURNAL
TECH MART
More Users For Less Money!
Digitrols software solution
to multi user.
IBM-XT. Lotus 1 -2-3. dBASE. and WordStar are trademarks ot IBM Corp. Lotus
Development Corp . Aston-Tate. and MicroPro International, respectively
CIRCLE 384 ON READER SERVICE CARD
pcSHARE
MULTI-USER O/S
pcSHARE allows your IBM-XT/AT or compatible to
support up to 5 users running 1 -2-3, dBASE, WordStar,
and more on inexpensive serial CRTs. For software
developers, pcSHARE efficiently runs compiled Basic,
Pascal & C programs with full DOS 3.0 compatible
record locking.
DIGITROL COMPUTERS INC.
440 Phillip Street
Waterloo. Ontario, CAN. N2L 5R9
(519) 884-4541
422
Communications Board
• For IBM-PC/AT/XT and
compatibles
• Dual RS-422 serial interface
• Programmable to 56k baud
• Differential drivers to 4000 ft,
5Va" DS/DD with hub ring and sleeve,
factory warranteed, packaged in 50’s.
Shipping Extra. Quantity 50,85<t each.
The same
low price
our volume
copying
customers pay!
75 *
^Qty. 100
We sell 3V2” & SVi” disks—all
types, major brands. Call toll free:
1 - 800 - 321-4668
in Colorado, 303-234-0871
VISA, MASTERCARD, OR COD ACCEPTED
ALF
1315-F Nelson St.
Denver, CO 80215
IBM PC, XT and AT programmers:
Don't give away results of your effort!
Don't waste your money buying
costly fingerprinted diskettes!
You can have your programs
automatically protected against
piracy!
* Mo special training neededl
* Mo confusing instructions!
* Mo discouraging procedures!
$345.00
QUA TECH, INC.
Mo Sales Tax on orders outside M.Y. State
YETIWARECORP
P.O. BOX 21152
MID TOWN STATION
NEW YORK N.Y. 10129
478 E. Exchange St. Akron OH 44304
(216) 434-3154 TLX: 5101012726
DEALER INQUIRIES INVITED
CIRCLE 386 ON READER SERVICE CARD
CIRCLE 388 ON READER SERVICE CARD
r
rE@H
&AT/
OURNA
HDTEST formats and tests hard drives in PC, XT,
AT, and true compatibles. Written for production
quality control; you know it's fast and thorough.
Menu-driven operation and context sensitive help
windows make life easy when installing or refor¬
matting hard drives. Flag known bad tracks and
do a comprehensive surface scan to find unlisted
defects. You can modify controller and test setup,
load/save setup and defect files. Works with WD,
Xebec, OMTI, DTC, and Adaptec controllers. Free
PARK included! Call for more information. $99.00
GALLERY 6 DISTRIBUTED BY PROTO PC, INC.
2439 FRANKLIN AVENUE ST. PAUL.MN 55114
612-644-4660 TLX910-380-7623
CIRCLE 387 ON READER SERVICE CARD
TECH MART
TECH BOOK
THE CLASSIFIED ADVERTISER’S
FORMULA FOR SUCCESS IN
SELLING TO TECHNICAL
EXPERTS IN THE IBM
MARKETPLACE.
FOR RATES & INFO
CALL: (212) 503-5115
YOUR BACK-UP
SYSTEM
FOR ADVANCED
PC INFORMATION
As an IBM PC expert, you’re the
source of information on IBM
PCs.
But when you need answers,
where do you turn?
TURN TO PC TECH JOURNAL
—you can depend on it every
month for the most authoritative
coverage of innovative appli¬
cations, systems design, and
technical information.
Save 47% off the single copy
price of $47.40.
One year (12 issues) only $24.97.
Use the coupon below, or call
1 - 800 - 852-5200
toll-free
8ZB50
P.O. Box 2966
Boulder, CO 80322
YES! I want to subscribe to PC TECH
JOURNAL for one year (12 issues)
tor only $24.97 — nearly half off the
one-year single copy price.
Mr. /Mrs. /Ms._
Company__
Address_
City____
State_Zip_
Savings based on full one-year (12 issues) single copy
price of $47.40.
Check one:
|~~1 Payment enclosed Q Bill me later
Charge my:
I I American Express Q Visa Q MasterCard
Card No_
Exp. Date_ .
Please allow 30 to 60 days for delivery of frist issue.
TE@H
JOURNAL
211
MY 1986
S. n Performance rnd
iWMim Price
Cmpatftfc Computers
IrnicrSim
Husimw Software .
( tuier$2W
*« wn
Exploring the PC market is a confusing, and often risky,
endeavor.
Lose your way, and you lose valuable time. One wrong turn,
and you can lose lots of money.
That’s why IBM and compatible PC users look to
PC Magazine. PC Magazine eliminates the risk in purchasing
decisions with comparative reviews and product evaluations
from the PC Labs, where products are tested the way you
use them every day. It’s the pathfinder to products that meet
your specific needs —and those of others in your company.
PC Magazine puts you on the trail to new applications
with power tips and special reports that will help you
make the most of your system. --' rffm
PC Magazine goes one step beyond leading you
through the microcomputing jungle. PC leads ^
you out of the jungle to the PC environment ^ ■
that meets your daily demands. M •
Subscribe now and save up to 50%.11 1 \ $5
For fast service, call toll-free | l \ y
Hk 1-800-852-5200 ’ JM
IVm I —. 8ZC18 jM
For product reviews
you can use.
TECH BOOK
Accessories/Supplies
•• SOFTWARE PUBLISHING ••
GDS offers a wide variety of services that will help
get your software to the market. Address your
needs with GDS.
• IBM style cloth/vinyl 3-ring binders/slips
• Labels, sleeves, disk pages...
• Disk duplication with 100% verification
• Bulk diskettes
• Shrink wrapping and assembly
• Quick turnaround
A well-packaged product can make the differ¬
ence in making a sale. Call us NOW. VISA/MC
Glenco Development Systems
3920 North Ridge Avenue
Arlington Heights, IL 60004
(312)392-2492
Business
Opportunities
INCORPORATE!
‘Save Taxes!
‘Protect Your assets!
‘Free Booklet!
‘Free Forms!
‘Save $— Do It Yourself!
‘No Legal Fees!
WRITE OR CALL TOLL-FREE TODAY!
HARVARD BUSINESS SERVICES, INC.
3151 Summerset Rd.
Wilmington, DE19810
800-345-CORP
Personal Computer Owners
CAN EARN $1,000 TO $5,000
monthly selling simple services performed by
their computer. Work at home-in spare time. Get
free list of 100 best services to offer. Write:
C.I.L.B.Q.
PO Box 60369
San Diego, CA 92106-8369
Hardware/ Add-on
Boards
SPEECH SYNTHESIS
SynPhonix: TRUE Unlimited Speech Synthesiz¬
er for IBM-PC/XT/AT/jr & compatibles. This low
power short card includes an SSi263 speech
chip, amplifier and speaker. Software includes
Text-to-Speech, Phonetic Editor, Talking Clock
& demos. Can be programmed with BASIC and
other languages. Prices start below $200.
SvnPhonix
Electronic Speech Articulator
Artie Technologies
2234 Star Court
Auburn Heights, Michigan 48057
(313)852-8344
RS-232/RS-422 Communications
Versatile communications and I/O boards.
—Four port RS-232 with DOS drivers.$349
—RS-422/485-serial interface.$149
—RS-232/422 with 24 parallel I/O.$199
—RS-422 synchronous with DMA.$299
—delivery from stock
—Custom designs available
Adams Incorporated
P.O. Box 17525
Greenville, SC 29606
(803)297-9630
FIXED DISK BIOS/BOOT
FiXT boots from most popular Hard Disks—DA-
VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds
XT-like BIOS interface to your disk for PC. Se¬
curity, multiple volumes, removable media sup¬
port optional. No-slot plug-in installation. Specify
controller and computer with order. $80-$95. Add
$3 shpg., CA tax.
GOLDEN BOW SYSTEMS
2870 Fifth Avenue
Suite 201
San Diego, CA 92103
(619)298-9349
NEW!!! FOR THE OLD 64K PC
PC MultiPak MAX 576K Multifunction Card. Ex¬
pand your old 64K IBM to 640K. Includes 576K
memory, parallel port, serial port, clock, ram-
disk & ramspool software, 2 year warranty.'$449
with 576K installed. Trade in discounts avail¬
able for your current memory card Mfg. in USA.
For more information call or write
Indigo Data Systems, Inc.
P.O. Box 57888
Webster, TX 77598
(713)488-8186
Hardware/Disk
Drives
8 INCH DISKETTE SYSTEM
Read, write and format diskettes from IBM
mainframes, minicomputers, data entry equip¬
ment, etc. Complete easy to use software han¬
dles EBCDIC conversion. Can read and write CP/
M 8-inch diskettes (many formats). You also can
use 8-inch drives for PCDOS files; 1200 KB per
diskette! $1150 complete.
MicroTech Exports
223 Forest Avenue
Palo Alto, CA 94301
(415)324-9114
Hardware/
Peripherals
SCSI-PC HOST ADAPTER
Plug & play installation for SCSI Optical/Hard
disk and tape peripherals. Wide selection of SCSI
peripherals selectable by manufacturer and
model No. via menu window. Absolutely NO driver
software need be written by the user. Price is
$149. for board, SCSI bios prom and floppy
based configuration data.
Advanced Storage Concepts, Inc.
9660 Hillcroft #325
Houston, TX 77096
1-800-423-9175(713)729-6388
640K YOUR MOTHERBOARD!!
Put 640K of RAM on Your Motherboard! NO
SLOT! NO ADD-ON BOARDS!—NO SOLDER¬
ING! Complete w/ALL Hardware, Memory Chips
and Instructions. Easy PLUG-IN Installation. Avail
for: IBM XT, IBM Portable, COMPAQ & COMPAQ
PLUS Portables. Only $144.95 + $5 S/H, Spec¬
ify computer when ordering. Dir. inquiries in¬
vited. CK/MO/VISA/MC
J S & J Software
1281 S. King St. Suite 6A
Honolulu, Hawaii 96814
24/hr Orders: (800) 821-5226 ext. 435
BAR CODE READERS
• IBM PC/XT, AT Keyboard or RS-232 interface
• No programming required for IBM models
• Auto-recognition and single code decoding
• Reads dot matrix & preprinted labels
• Reads Code 39, UPC A/E, Codabar & 12 of 5
• $635 list, units in stock, 2 year warranty
• Bar code printing software, call for info.
PERCON, Inc.
2190 W. 11th
Eugene, OR 97402
(503)344-1189
RATES AND INFORMATION
Standard listings consist of a bold lead line (25 characters maximum); 7
lines of body copy (45 characters per line); 4 lines for company name,
address and telephone number. $140 per insertion—3 issue minimum.
Additional charge for extra lines and company logos. Prepayment and
frequency discounts available. American Express, MasterCard, Visa
accepted. Copy subject to publishers approval. Send typewritten or printed
copy, reproducible logo art (if applicable) and remittance to Kathryn
Cumberlander, Classified Sales Manager, Ziff-Davis Publishing Company,
One Park Avenue, New York, NY 10016. For additional information,
assistance, or to place an order by phone, call collect (212) 503-5115.
TURBO START YOUR PC!!!
FOR IBM PC’s ONLY!! The PC-INMATE, a Firm¬
ware ROM Module for the IBM-PCM! Features:
BOOT within 10 SECONDS!!! BREAK the 640K
BARRIER!! Access up to 704K of RAM!!! (Lotus,
DOS, etc.) SCREEN RELIEF-protects your mon¬
itor, and MORE!! Easily PLUGS IN-NO SLOT! Only
$49.95+$3 S/H. Dir. inquiries accepted CK/MO/
VISA/MC.
JS&J Software
1281 S. King St. Suite 6A
Honolulu, HI 96814
24 hr Orders Only: (800) 821-5226 ext. 435
IBM PC/XT/AT.SPEEDUP
‘OVERTRUSTER: Boots the performance of PC
and XT by 280%! 100% software compatible, is
switchable between 4.77 and 7.38Mhz. $195.
‘SPEEDSWITCHER: This is an economical 6
speed switch (4-11 Mhz) for AT’s. $89
‘XCELEX: Automatic 5 speed switch (6-12Mhz)
This unit will switch on the fly and works with
ALL IBM AT’s including the new Models with
speed limiting Rom Bios. $149.
DATA MANAGEMENT SYSTEMS, INC.
1525 Hickory St.
Salina, KS 67401
ORDER HOTLINE (913) 823-6440
CP/M & 1.2Mb AT ON PC
With MULTI-DISK and UniForm-PC use 3.5,5.25,
and 8-inch single and double density CP/M for¬
mat as DOS diskettes on your IBM PC or XT.
Many MS-DOS formats also supported includ¬
ing IBM AT 1.2 Mb, HP-150 and Data General 1.
Over 200 formats. Both MULTI-DISK and Uni-
form-PC for $225. Disk drives & adapter cable
also available.
P S Engineering
P.O. Box 51068
San Jose, CA 95151-5068
1-800-369-2398; 1-800-423-7171 in CA.
Hardware/Security
STILL WAITING? INSECURE?
QUICKON—Instant Turn-on module—$69.95.
LOCKIT I—Password Boot-Up module—
$129.95. User selectable PW & Boot-only-from-
HD mode. PC RESET—Reboot w/o cycling
power—$21.95. Easy to install, No slot, specify
PC/XT/AT LOCKIT II—PW protection for sub¬
directories, for DOS 2.0 & up—$79.95. MC/VISA
Security Microsystems Consultants
16 Flagg Place Suite 102 TJ
Staten Island, NY 10304
(718)667-1019
MAY 1986
213
TECH BOOK
Software/Bar
Coding
BARCODE PRINTING/READERS
Programs $49-$299. Readers—$325 up. PRINT
Bar Codes on PC and Epson/Okidata or IBM
Proprinter—Code 39,12of5, UPC, MSI, DOD-
LOGMARS, AIAG. Graphics chs up to 1". Labels,
Catalogs from files, Subroutines for BASIC, Cobol,
Clipper, Turbo, Pascal, C, dBASE III Plus.
Worthington Data Solutions
130 Crespi Court
Santa Cruz, CA 95060
(408)458-9938
Software/Business
>timeslips<
Pop-up stopwatch screens allow time sheet time
& expense entry or stopwatch tracking of pro¬
grammer, compilation, assembly, job & online
time. • Create professional bills: 114 formats with
auto aging, flat fee, & more. • Generates re¬
ports, graphs, pie charts, mailing labels & IRS
usage log. • Projected completion time entry al¬
lows instant analysis of project & budget status.
• Not copy protected. • $99.95 + $7.00 s/h.
►timeslips^
North Edge Software Corp.
PO. Box 286
Hamilton, MA 1)1936
(617)468-7358,1-800-225-5669
The Andsor Collection
Unique concepts: creates complete, self-
contained, window-based data management
environment in one DOS file. Simplifies every¬
thing. Combine functions to create your own so¬
lutions in any application: calculations, database
management, modeling, text processing, charts,
data analysis, statistics, reports, labels, forms,
presentations, mail-merge, etc. Simple enough
for a PCjr, sophisticated enough for a PC AT. Su¬
perb, 400 page hard-cover manual, with many
examples. From simple calculations, files, in¬
quiries, to complex models, data structures, re¬
ports: when your favorite data manager/
spreadsheet/word processor/integrated sys¬
tem cannot provide the solution you need, re¬
member The Andsor Collection. 60 day money-
back guarantee. US$95 + $5 s&h. Visa/MC/
AmEx/Chk/MO/COD. Call or write now to order.
IBM/PC/XT/AT/PCjr, 128K, one drive or hard
disk, monochrome and/or color monitor, DOS
2.0+. Not copy-protected.
)
z77ie , (/ic/sor
Go//ectio/i ..
k r-
Andsor Research Inc.
181 University Avenue, Suite 1202
Toronto, Ontario, Canada M5H 3M7
(416)364-8423
Software/Compiler
DeSmet-C-$109
Full K&R C compiler, linker, librarian, fullscreen
editor, profiler, overlays, example software, 140
page manual. BOTH 8087 and floating point li¬
braries. OUTSTANDING PRICE/PERFOR¬
MANCE. Consistently rated 1st or 2nd in
published benchmarks. PC/MSDOS. No royal¬
ties on generated code. Newsletter. Updates $20
ea. $109 shipping included. Symbolic (C source
level). Debugger Option $50 extra. C Compiler
for the Macintosh $150.
C WARE CORPORATION
Dept. PCTJ
PO. Box C
Sunnyvale, CA 94087
(408)720-9696
C Compilers for MC 680X0
Now on IBM PC
Use your IBM PC XT to create fast compact code
optimized for the Motorola 68000, 68010, and
68020/68881. Complete C development envi¬
ronment including assembler, pre-processor,
linking and downline loaders, libraries and util¬
ities. Priced under $1000 on IBM PC. Also avail¬
able for Motorola/VERSAdos, VAX/UNIX, and
VAX/VMS.
fincuorv
~7l I I V M CORPORATION
Alcyon Corporation
5010Shoreham Place
San Diego, CA 92122
(619)587-1155
Software/
Communications
COMM. PROTOCOL ANALYZER
Why pay thousands for a protocol analyzer or
$250 for a RS232 breakout box? Field proven
APA120 software converts a PC. Full function
breakout box with LED’s switches and jumpers
plus line adapter for analyzer. Trigger strings,
control line monitoring and more. For serial,
async, 9600 baud or less. $495.
BURR-BROWN®
Burr-Brown Corporation
P.O. Box 11400
Tucson, AZ 85734
(602)299-2662
PC SERIAL DATA ANALYZER
Use your IBM PC or compatible to analyze data
streams between two serial devices (up to 9600
BAUD). Two windows display each devices trans
mition in ASCII or HEX. PC can also act as a ter¬
minal for either device. Invaluable tool for de¬
bugging serial interfaces. Disk & manual $150.
Triple C Software
2897 SW 13th St.
Fort Lauderdale, FL 33312
(305)583-0687
Programmable Emulator
Automate your communications. “Hooks” to
operate communications functions automati¬
cally thru your own programs written in “C” Basic,
Pascal. Supports PC to PC to mainframe link up.
Memory resident mode, simultaneous COM1 and
COM2, X-modem, full featured, VT100 and 13
other terminals. Bluestreak plus $39.95.
Lang-Allan, Inc.
2457 Aloma Ave. Suite B
Winter Park, FL 32792
(800) 541-2255 Tone 677-1539
Software/
Development Tools
COLOR, CURSOR CONTROL
DATE/TIME, KEYBOARD, PEEK, POKE, COM¬
MAND LINE ACCESS, and more available for
IBM/MS FORTRAN, IBM/MS PASCAL, and GE¬
NERIC (MS) BASIC on PC/DOS and many MS/
DOS machines. No redistribution fees. $47 U.S.
MN residents add 6% sales tax. BARTSUBS by
BARTSOFT
3210 Lake Shore Boulevard
Wayzata, MN 55391
(612)473-4032
REVISION CONTROL SYSTEM
The Software Revision Management System™
stores all versions of source/documentation in
a single ASCII file. Allows retrieval of any version
of source and application of changes, while re¬
cording when, why and where changes were
made with no duplication of common code. MS/
PC-DOS 2.0. New version $125. (MN+6%.) MC/
Visa.
QUILT™ COMPUTING
7048 Stratford Rd.
Woodbury, Minnesota 55125
(612)739-4650
ROMable CODE on PC!
PCLOCATE allows PC users to develop ROM-
based software from MS-DOS “Exe” files. The
user specifies the physical location of all seg¬
ments. Output files are compatible with most
PROM programmers. PCLOCATE supports the
8086,8088,80186,80188, and 80286 proces¬
sors. MC/VISA.
ALDIA SYSTEMS INCORPORATED
P.O. Box 37634
Phoenix, AZ 85069
(602)866-1786
REALIA COBOL SITES
REALFORM is the Screen Handler you have been
looking for. It features interactive screen design,
an on-line forms editor, relief of cursor control,
expedites screen generation, supports numer¬
ous data field types, is easy to use and offers
powerful data entry functionality. $395. US.
CHARANDON COMPUTER SYSTEMS INC.
1600 Laperriere Avenue
Ottawa, Ontario, Canada K1Z 8P5
(613)729-3003
INSIDE-DISASSEMBLER
Use your IBM-PC, XT, and AT to disassemble all
8088/8086, 80186, 80286, 8087, and 80287
software. INSIDE writes source assembly code
to disk; produces complete cross-reference ta¬
ble of addresses & values; many other features.
Command driven, simple to use. Only $49.95
plus $3 s/h (IA res. add 4% tax)
(^
■ DisAssembler
BLACKRIDGE CORPORATION
P.O. Box 385
Bettendorf, IA 52722
(319)355-4465
BETTERTOOLS FOR BETTERBASIC
BetterTOOLSr 100 procedures & functions that
speed BetterBASIC™ development. Sorting,
scrolling, extended math functions, video rou¬
tines, disk directories, formatted screen display,
on-line error descr., input w/full editing & ex¬
tended code trapping, much more. Better-
TOOLS™ w/source & manual, $89. Write:
Software Associates
6220 W. Airport Blvd.
Houston, TX 77035
(713) 726-0706
FIRMWARE PRODUCTION ON PC
LINK&LOCATE enables PC users to produce
ROM-based firmware for 8086/87/186 from ob¬
ject files generated by C, PL/M compilers &
MASM. Provides full control of segments place¬
ment anywhere in memory. Supports output of
INTEL hex file for PROM programmer, absolute
object file for symbolic debugger & ICE, and MS-
DOS EXE fifle. Includes an INTEL compatible
linker, locator, librarian and hex formatters. $350.
Systems & Software, Inc.
3303 Harbor Blvd., C11
Costa Mesa, CA 92626
(714) 241-8650
REPORT WRITER
All-language qPLEX-IV lets you select or sort your
own special forms, reports, labels, bar graphs
or queries. Exports your reports to spreadsheets
and wordprocessors. Reads Basic, Assembler,
Pascal, C, Fortran, Cobol, ASCII, Data Base
Managers and more. Dealer demos available.
MS-DOS, XENIX, UNIX
Snow Software Corporation
3330 Fisher Road
Clearwater, FL 33519
(813)784-8899
214
PC TECH JOURNAL
TECH BOOK
C-INDEX
C-INDEX is a state-of-the-art data management
library for C. Designed for serious product de¬
velopment. No Royalties. B+Tree, variable length
records, multiple keys, and transportable source
code. Call for our free info packet.
C-INDEX/PRO $195 Partial Source
C-INDEX/PLUS $395 Full Source
TRIO SYSTEMS
2210 WilshireBlvd. Suite 289
Santa Monica, CA 90403
213-394-0796
FLOWCHARTS BY PROFLO
The fast, friendly, flowchart drawing program for
the software professional. PROFLO speeds soft¬
ware development and reduces documentation
costs. Lets you create, edit, and print clear, pre¬
cise flowcharts, quickly and easily. Requires IBM
PC (or clone) with DOS, 128K, graphics monitor
& graphics printer. Program & Documentation
$49.94. Demo Disk $10.00.
y-
Star Systems
28 Topstone Drive
Bethel, CT 06801
(203)744-0546
Exceptions/Tasks For C
Add Ada-type exceptions and simplified tasking
to your C programs. Implemented for lattice C
l.xx and 2.xx, all four memory models. Small,
efficient, OK to copy if not for resale. Documen¬
tation and package on diskette, $5.95 postpaid.
Plain Vanilla Corporation
P.O. Box 4493
San Diego, CA 92104
MODULA-2 SCREEN TOOLS
REPERTOIRE: a unique high-performance screen
display system with source, plus a multi-win¬
dow editor to include in your programs: $64. Not
a code generator. Full input checking, help, and
branching logic. DMA video, string, list, and
windowing tools. Logitech & ITC versions. FREE
documentation on req.
PMI
4536 SE 50th
Portland, OR 97206 (503) 293-7706
MCI Mail: 269-1013; CompuServe: 74706,262
SOURCE CODE LIBRARY SYSTEM
TL!B' M stores ALL versions of your source in ONE
compact library file, even with hundreds of re¬
visions. Updates ("deltas”) faster than many
editors load & save files, 5-7 times faster than
Unix SCCS. Date & comments for each version,
easy retrieval. LAN-shared libraries with PC
Network. DOS 2.x/3.x $99.95 $3 s/h VISA/MC.
Burton Systems Software
P.O. Box 4156
Cary, NC 27511-4156
(919)469-3068
MODULAtodBASE.$94.50
Now the structural clarity and compiled effi¬
ciency of Logitech Modula 2 are available to users
of dBASE3 files. ModBase is a complete inter¬
face including source, examples and utilities.
ModBase with Logitech compiler $175. Add
$5.00 shipping.
Fletcher Software
1742 Second Avenue, #275
New York, N.Y. 10128
(212)289-0328
GENSCREEN FOR MS-COBOL
Cobol Source Code Generator for generating the
screen section and data division cobol source
code for Microsoft and IBM PC cobol. Screen
Image Text files are run through GENSCREEN to
produce all of the source code for your screen in
less than a minute. Super fast programmer pro¬
ductivity tool $69.99.
Personal Computer Development Corporation
P.O. Box 8556
Warwick, R.l. 02888-8556
(401)333-8704
FASTSCREEN FOR TURBO
PASCAL
FASTSCREEN adds fast screen output capabil¬
ity to your Turbo Pascal programs. Display a full
screen or window almost instantly. Read a full
screen or window containing multiple input fields
with a single procedure call. FAST¬
SCREEN makes it easy to give your programs im¬
pressive speed and a clean, professional look,
inline assembler and Pascal routines, all source
included. IBM PC/XT/AT and DOS. Color and
monochrome. $29.95 from Technisoft
Technisoft
1710 Allied Street Suite 37
Charlottesville, VA 22901
804-979-6464
ScreenWorks™ $50
Awesome screen management! Full screen panel
editor & designer. Design your most complex
screen in 10 min. Supports C & Turbo Pascal.
Screen handler written assembler as BIOS ext'n;
50+ library routines give full control of screen,
fields, colors & keybd. Developer license avail.
256K, all monitors, no snow. 30 day $back
guarantee, $50 chk/VISA/MC.
Keep It Simple Software, Inc.
211 East 43rd Street
New York, NY 10017
(800)848-8909
TURBO PASCAL GENERATOR
GTP APPLICATION DEVELOPMENT SYSTEM,
version 2. Builds complete, working application
systems. You give it spec’s, it writes error-free
code.
Indexed Data Bases Multiple Screens
Context Sensitive Memory-mapped
Help Video
Global/Phonetic Full Keyboard Supt
Search
Easy to Use Price $150.00 Visa/MC, ck, MO
AEF
P.O. Box 928
Katy, TX 77492
(713)391-8570
SCREENWARE UTILITIES
FAST ELEGANT SCREEN CREATIONS FOR PC
ASSEMBLY ROUTINES. Make new or edit exist¬
ing screens, even those CAPTURED in OTHER
pgms BY OUR PGM! Supports ALL color/char/
att & monitors. Pop-up menus, help & file man¬
agement. Creates binary & assembler-ready
ASCII source files. Easy to link to main pgm &
invokes w/little code. KBD template, charts, 50pg
Man, PC/AT-128K, ONLY $27!
Crosswinds Software
8621 Windjammer Drive, Suite M-56
Raleigh, NC 27609
(919)847-1812
FORTRAN LIBRARY
A library of over 70 assembly language subrou¬
tines complementing MS Fortran compiler. Full
range of powerful features, increasing the scope
of programming possibilities. Control screen,
keyboard, communications; add new language
commands. Library includes subroutines for to¬
tal control of HP LaserJet printer. Institutional
purchase orders $99.95, personal checks $49.95
s/h $5.
Psychometric Associates
3434 West Tulsa Street
Chandler, Arizona 85226
SOURCE DEBUGGER FOR
LATTICE C
The MSD DeBugger ,M is the last, and perhaps
final, word in programming assistance for Lat¬
tice C users. C Debugger produces a high-level
view of C programs via function names line
numbers, variable names and C data types, plus
a low-level view of machine addresses and in¬
structions for testing assembler language func¬
tions. More features include:
• All documentation is prepared for
programmers.
• Online help screen throughout the process.
• Capability to single step through your program.
• Set break points, examine registers and
variables.
$165.00+ $3.50 shipping VISA/MC
Cdebugger
a high level language debugger
MSD
2141/2 West Main St.
St. Charles, IL 60174
(312)377-5151
THE-SCREEN GENERATOR
Powerful Screen Designer and Memory Resi¬
dent Screen Manager eliminates tedious screen
management tasks from your program. Easy
access to Screen Manager from your applica¬
tion. Uses disk screen libraries. No Royalties, Not
Copy Protected. Uses with FORTRAN, C. BASIC,
Turbo-PASCAL, BetterBASIC or Asm (Call if not
listed). $125
The West Chester Group
P.O. Box 1304
West Chester, PA 19380
(215)644-4206
Software/Edit
Lil’Jake
“The WORLD’S GREATEST Editor." That’s what
our users say about Lil’Jake.
‘Edit multiple files
‘DOS commands
‘Comprehensive (terse/verbose) online help
‘Programming support BASIC, DOS & BIOS
‘MACRO facility
We’re so sure you’ll like it, we want to send you
a copy for a free 60-day evaluation. $49.95 +
s/h To order: Write or CALL NOW!
Fooks Matthewson Company
P.O. Box 2424 (Oper-28)
Arlington, VA 22202
(703)684-8284
Software/
Engineering
ARTWORK®
Printed-circuit artwork editor for double-sided
boards up to 10" by 16", runs on an IBM-PC. Color
display allows complete interactive control over
the placement and routing process. 2X artwork
can be made on a dot-matrix printer or pen-and-
ink plotter, $895. Write or call for a brochure.
WIXTKK
WINTEK Corporation
1801 South Street
Lafayette, IN 47904-2993
(317)742-8428
METAL FABRICATORS
PC/Cutlist takes input from your bill of mate¬
rial—Detail drawing and calculates the best
cutting combination for any length stock and
prints a shop ready cutting list and scrap report.
Also an optimization feature finds best mult length
for mill orders. Price $300. Demo Disk $25.00
THE JOSEPH ALBERT CO.
P.O. Box 611
Blue Island, Illinois 60406
(312)349-9032
PC/8087 ARRAY PROCESSING
The VECTOR87 library is written in assembler,
includes 60 subroutines to speed scientific pro¬
grams by 2 to 18x. FFT, vector operations, con¬
volution, etc. 1K real FFT takes 1.2 second. Also
Fortran 2D FFT, linear equation solvers. Ver¬
sions for Lattice C, MS C, IBM Pro Fortran, MS
Fortran. $120 each w/source. Check/PO/VISA.
VECTORPLEX Data Systems Ltd.
P.O. Box 138 Station M
Calgary, Alberta, Canada T2P 2H6
(403)248-1250
MAY 1986
215
TECH BOOK
CREATE PCB’s EASILY
Easily create double-sided printed circuit board
artwork of up to 21" square using PC-Layout on
an IBM-PC. the artwork is created using a color
artwork editor, the final artwork, solder mask and
silk-screen (text) is produced using either a printer
or a plotter. Price $745. Demo disk/manual $45.
Demo disk credited to final purchase.
Draco Technology
7210 Jordan Ave., Suite D50
Canoga Park, CA 91303
(800) 235-6646 ext. 646 (outside CA)
(800) 235-6647 QXt. 646 (CA only)
Software/Financial
IRRworks™ $25
Are YOU using a spreadsheet for IRR’s? Full
screen menu and pop-up windows make IRR &
PV simple. Fast computation, up to 360 uneven
periods. Easy input: steps, % growth, replica¬
tion. FRACTIONAL PERIODS! Automatic rate
conversion. Name & save cases; simple case
management. 256K, color/mono, 30 day $ back
guarantee, $25 chk/VISA/MC.
Keep It Simple Software, Inc
211 East 43rd Street
New York, NY 10017
(800)848-8909
Homeworks $25
Home-buyers, realtors, lawyers, bankers: Com¬
pute mortgage payments & totals, any payment
period. DETERMINE $$$ YOU CAN BORROW.
Print detailed amortization schedules & yearly
totals. Name & save cases; simple case mgt. Full
screen, windows, help, fast, 196K, color/mono,
30 day $back guar’tee, $25 chk/MC/VISA.
Keep It Simple Software, Inc.
211 East 43rd Street
New York, N.Y. 10017
(800)848-8909
Software/ General
PUBLIC DOMAIN SOFTWARE IN C
Over 60 volumes of public domain software in
CP/M & MS-DOS formats.
• editors & compilers
• text formatters
• communications packages
• many UNIX-like tools
Write or call for more details.
G Users'
Group
THE C USERS’GROUP
PO. Box 97
McPherson, KS 67460
(316)241-1065
Software/Graphics
TEKTRONIX 4010 EMULATION
High resolution screen/printer graphics for the
IBM PC. Full interactive capabilities with file
transfer and cross-hair control. Utilizes PLOT 10,
protocols. OFF-line review of graphics output.
Supports IBM color/graphic or Hercules cards.
Easy to use 4010 emulation at an affordable price.
$80.00. Demo disk $5.
Technological Systems Group
5044 Haley Court
Lilburn.GA 30247
(404)923-4980
GRAPHICS LIB FORTECMAR
TEK-MAR lets you do high-res graphics on your
TECMAR Graphics Master. TEK-MAR is a li¬
brary for use with MS Fortran. Features win¬
dowing, viewporting, clipping, axis rotation.
Similar to Tektronix graphics. Includes screen
dump/restore, Epson screen print, support for
Hewlett Packard, Western Graphtec plotter. Re¬
quires MS-FORT 3.31,320K, GMDEV.SYS (5.2).
Price- Q5
ADVANCED SYSTEMS CONSULTANTS
21115 Devonshire Street, Suite 329
Chatsworth, CA 91311
(818)407-1059
SuperCAD a2.5D system.
Developed by a Columbia University graduate,
it’s very fast and powerful, supporting all the most
advanced I/O devicesand the 8087. It works like
a screen oriented word processor for graphic
primitives and drawings. Free 1 yr. update ser¬
vice available in the US. Send $1500 by check,
L/C or P/O. Dealers Welcome!
CAD-CAM-IISRL
Via Fornaci 1
06034 Foligno ITALY
Tel: (0742) 20921
PLOTTER SOFTWARE
Presentation aides (word charts) are quick and
easy to prepare using the DGISIGNMAKER. With
the DGI SIGNMAKER, your PC and plotter (IBM,
HP, HI, Epson) your overheads, text slides or signs
will have that professional look. $75. For addi¬
tional information, ordering or to check compat¬
ibility contact:
Decision Graphics, Inc.
PO. Box 2776
Littleton, CO 80161
303-796-0341
MetaWINDOW™
Advanced graphics toolkit provides Xerox Star/
Apple Macintosh style graphics on your IBM PC.
Supports most popular graphics cards. Allows
you to create pop-up menus, windows & icons;
use proportionally spaced fonts; rubberband &
drag lines, text or bitmap images; supports
mouse-cursor tracking. Tightly optimized for use
with Turbo Pascal, IBM Pascal, C, Fortran &
Compiled Basic
METAGRAPHICS SOFTWARE CORP.
4574 Scotts Valley Drive
Scotts Valley, CA 95066
(408)438-5352
TERMINAL EMULATION
For under $100, MicroPlot’s PC-Plot 111 graph¬
ics emulator software package will enable your
IBM PC and compatibles to appear to a main¬
frame as a DEC VT-100/VT-52, a Retrographics
VT-640, a Tektronix 4010/4014 or a partial Tek¬
tronix 4027. Call 1-800-338-0333, In Ohio
1-800-242-0333. Operator ID.: 766-8501
MicroPlot
659-H Park Meadow Road
Westerville, OH 43081
(614)882-4786
SCIENTIFIC DATA PLOTTING
SCI-GRAF creates graphs up to 1680 x 1712 dots
(over 3 million pixels!) on Epson or IBM graphics
printers. Supports log scaling, overlays, point¬
labeling, legend creation, batch mode, wide-
carriage printers, and color graphs on a JX-80.
Requires DOS 2 or 3, 256K. No credit cards.
$99.95
Microcomputer Systems Consultants (MSC)
27-P Forest Avenue
Port Jefferson Station, NY 11776
(516)928-7493
Software/Languages
EASY WAY TO MASTER DOS!
New handbook shows how, why, and when to
use all 44 PC & MS DOS commands quickly and
easily! Lively hands-on tutorial makes learning
fun, for a change. Covers basic thru advanced
topics. All versions up to 3.1. Lots of practical
examples. 221 pages only $15.95 at book¬
stores, or send check + $1.00 S&H to:
LITTLE, BROWN & COMPANY PUBLISHERS
200 West Street, CodeT-368121
Waltham, MA 02254
1 -800-343-9204 (credit cards)
FREE 8088 TUTOR Monitor
Learn 8088 assembly language using the new
book, IBM PC-8088 Assembly Language Pro¬
gramming, by Richard E. Haskell. Order the book
for $25 plus $3 s/h and get the powerful TUTOR
monitor software free. Load and examine any disk
file, disassemble any 8088 code, debug EXE files.
Satisfaction guaranteed.
REHI Books
54 N. Adams, Suite 130-T
Rochester Hills, Ml 48063
(313)853-1941
Software/Operating
Systems
UN/EMULATOR BY WAWA
Run CPM on your PC or clone at MACHINE
SPEED. UN/EMULATOR runs native 8080 code
and increases DOS performance by 10%. We
include disk conversion software, terminal em¬
ulators, and serial transfer utility. Available in 5
MHz and 8 MHz. Starting at $99.95 plus $5 S&H.
Dealer inquiries welcome. Call or write:
WEITZMAN AND WOOD ASSOCIATES
580 N.W. 99th Way
Pembroke Pines, FL 33024
(305)432-8025
Software/Scientific
SPARSE/DENSE MATRIX
MATRIX: Does to matrix what TK! solver did for
numbers. Solves lin/nonlin/diff eqns. Program¬
mable Matrix functions. $59.95
SPARSEPACK: Turbo Pascal source code for
user-transparent Sparse Matrix handling. Over¬
come 64K barrier and more. $49.95. VISA/MC
call 1-800-835-2246 ext. 80.
SoftTech Inc.
18505 W. 8 mile.
Detroit, Ml 48219
1-313-544-8544
Software/Security
SECURE AT/XT/PC
Control system access, data access! FiXT/S.
Control system boot for most popular XT/PC hard
disk controllers. Vfeature for AT-and-XT-com-
patible HD controllers segments hard disk by
volumes, controls access with passwords, sup¬
ports hard disk expansion. $80 $120+$3 shpg.
plus CA tax.
Golden Bow Systems
2870 Fifth Ave. Suite 201
San Diego, CA 92103
(619)298-9349
BITLOCK® SECURITY
Proven effectiveness of powerful multilayered
security on IBM PC/XT/AT Compatibles. TRS-
80, Apple & Commodore computers using rapid
decryption algorithms. Total transarency after
easy attachment of small reliable security de¬
vice to external port. Inexpensive, yet has sur¬
vived piracy attempts > 3% years.
MICROCOMPUTER APPLICATIONS
7805 S. Windmere Circle
Littleton, CO 80120
(303) 798-7683 or 922-6410
SMART COPY PROTECTION
Attention Software Developers:
In the past, Copy-Protecting your program or
system meant inconvenience to the end-user,
complicated production techniques and a lot of
added expense per product copy. Our new EV-
ERLOCK product has solved these problems. For
IBM PC/XT/AT and compatibles. Call us.
Az-Tech Software, Inc.
426 Grandview
Richmond, MO 64085
(816)776-8153
216
PC TECH JOURNAL
TECH BOOK
SIDEVIEW: PC/AT MENU
Password protect your hard disk today! DOS 3.0 f
3.1 hard disk manager. Allows you to create color
menus to run any program or DOS command.
Prevent hard disk erasure. Works with XT’s too.
25 pg manual. Money back guarantee. PO’s &
phone orders accepted. $39 + $3 shpg.
Keller Software
1825 Westcliff Drive
Newport Beach, CA 92660
714-642-5544
Software/Services
TAPE/DISK CONVERSIONS
Conversion services to or from over 500 com¬
puter systems:
• Magtapes
• Micro Computers
• Mini Computers
• Word Processors
• Typesetters
Our conversion capabilities surpass most in the
industry.
Pivar Computing Services, Inc.
165 Arlington Hgts. Rd.#T
Buffalo Grove, IL 60089
(312)459-6010
Software/Statistics
RATS!
RATS is the ultimate econometric software
package. It is powerful, fast, accurate, and in¬
expensive. RATS performs regression analysis,
time-series forecasting (including Box-Jenkins)
and cross-section (including logit and probit).
RATS supports a variety of data formats, includ¬
ing Lotus WKS files. RATS also offers a pro¬
gramming language that provides maximum
flexibility and power. Spectral analysis and
graphics are available as options. Base pro¬
gram $200. Demo including 300 page manual
$40. MC/VISA.
VAR Econometrics
P.O. Box 19334
Minneapolis, MN 55419
(612)822-9690
ELF—THE STATISTICAL PKG.
Interface with Dbase and Lotus files or will cre¬
ate its own. Factor analysis, stepwise regres¬
sion, discriminant analysis, 1&2 way anova
crosstabs, correlations, t-test, frequencies,
transformations.... unlimited observations, 500
variables in database. All new and improved
manual. 30-day examination. Call for more.
The Winchendon Group, Inc.
P.O. Box 10339
Alexandria, VA 22310
(703)960-2587
Software/Terminal
Emulation
VT-102& 4010 EMULATION
PC 102 turns an IBM PC/XT/AT/jr to a VT-102/
100/52 terminal with printer/file transfer sup¬
port. Optional: 132 col., 4010 graphics support.
Guaranteed compatibility with all VT-100/52
applications including EDT, WORD II, All-In-One,
& UNIX. Easy to use. 3000+ sold. From $89. MC/
VISA/COD. Call for free package! Moneyback
guarantee.
General Micro Systems
P.O. Box 5330
Hopkins, MN 55343
(612)944-0593
Software/Utilities
AT/XT/PC HARD DISK EXPANSION
“Replace hard disk with a bigger one, or add a
second drive! Vfeature BREAKS THE 33 MBYTE
BARRIER on standard AT, XT, and compatible
hard disk controllers. Includes multiple vol¬
umes, security features, selectable clusters,
keyboard lock. $80-$120 + $3 shipping + CA
Tax"
Golden Bow Systems
2870 Fifth Avenue, Suite 201
San Diego, CA 92103
(619)298-9349
DISK MECHANIC
THE ULTIMATE Floppy Disk Backup & Repair
Utility. Can back up ALL software protected disks
written on the IBM PC. Works manually or au¬
tomatically. Files or sectors can be restored,
searched, examined & changed. Checks disk
drive speed, req. IBM PC, XT, AT, DOS 1, 2, 3,
192K + 64K if only 1 floppy drive. $73 ppd. USA
MU MICROSYSTEMS
PO BOX 825, Dept TB2
Framingham, MA 01701 USA
(617) 926-2055 for info MC/VISA
HARD DISK DIRECT ACCESS™ 4.0
The Ultimate Hard Disk Menu System. Orga¬
nizes your software programs into a “user de¬
fined" menu system. Features single key stroke
access, time usage tracking, custom applica¬
tions, plus much more. Order toll free today. 30
day money back guarantee.
DELTA TECHNOLOGY
Delta Technology International Inc.
P.O. Box 1104
Eva Claire, Wl 54702
To order: 1-800-242-MENU
For more info.: 715-832-0958
TurboRef
Pascal, programmers get organized with
TurboRef! TurboRef will cross reference a source
program and create a program listing. TurboRef
can process a list of files, will read “include" files,
identifies line number for each reference. Source
code included, IBM PC, XT, AT or compatible, only
$49.95; VISA, MC or check.
RACON SERVICES, INC.
Gracon Services, Inc.
4632 Okemos Rd.
Okemos, Ml 48864
(517)349-4900
RAMbak$9.95
Never lose RAM disk files again. RAMbak auto¬
mates the saving of new or changed RAM disk
files to floppy disks and/or hard disk subdirec¬
tories. RAMbak saves time, gives peace of mind.
A new utility RAM disk users shouldn’t be with¬
out. PC, XT, AT compatibles with 128K, DOS 2.0+.
Only $9.95 MN res.+6%
Software
Brewing
Company
Software Brewing Company
P.O. Box 12094
St. Paul, MN 55112
(612)636-2727
CHARACTER CUSTOMIZATION
CHARGENI works with the IBM EGA to let you
modify the character set, allowing many word
processors to display technical material, equa¬
tions or other special characters. Also works on
the Color/Graphics Adapter in graphics modes.
Requres DOS 2.x or 3.x, IBM Standard or
Enhanced Graphics Adapter. $25 + $2 s/h (MN
add 6%).
DK Micro Consultants
P.O. Box 6714
Minneapolis, MN 55406
(612)722-0931
Directory extended
THE MOST POWERFUL directory display and file
management tool! Multiple in- and exclusion
patterns; multiple wildcards. Generate batch files;
file search; flexible sorting; list directories; transfer
test; date/time/size ranges; delete or check¬
sum, files; set any attributes; MUCH MORE. Send
$25 + $5 p&h-money back guar, (in TX w/tax
$31.84) to:
Robert K. Blaine/ECONO-SOFT Dept T63
9200 North Plaza #1906
Austin, TX 78753
NEW...TURBO PACKAGE
• Break the 64K Turbo Pascal barrier. You may
never need to convert to MODULA 2.
• Load 500K of resident Turbo Pascal code and
call it from a Turbo Pascal program. This pre¬
compiler makes Turbo Pascal short calls into long
calls. It is a thousand times faster than chaining
or overlaying.
• Turbo Package will be available for $39.95
Turbo Package documentation for $5.00. The first
100 respondents who send their name, ad¬
dress, phone number, and $5.00 will also get a
free preview diskette with all the Turbo Package
software.
CONVERSATIONAL COMPUTER SYSTEMS
5371 VERBENA RD.
SAN ANTONIO, TX 78240
C + ASM + dBASE = dUNK
Finally! with the dLlNK system, any number of
Lattice C and MASM functions can be called di¬
rectly from dBASE II, using natural c syntax to
pass arguments (incl. pointers, constants, all
types of variables) Complete system is elegant,
lightning fast, and flexible. Req. 256K, dBASE II
v2.4+, DOS 2.0+$69 ppd.
St. Elias Software
4012 Ashworth Avenue North
Seattle, WA 98103
(206)632-4049
MenuWorks™ $25
Using a PC becomes as easy as turning it on:
Start up all programs from menu. Customize
selection screen. Just Tab & Enter to Run.
Prompts for input if needed. Super slick editor
to set up menu; easy to change. Fast. Full screen,
windows, help, 196K, color/mono, 30 day $ back
guarantee, $25 chk/VISA/MC.
Keep It Simple Software, Inc.
211 East 43rd Street
New York, NY 10017
(800)848-8909
dirWorks™ $25
PC users: avoid DOS drudgery! Complete disk
mgt made simple: copy, erase, rename, format,
all directory commands and TONS more. Mul¬
tiple file & directory operations, Sorts display by
time, date & alpha. Edit files without going to
DOS. Full screen, windows, help. Fast, 196K,
color/mono, novice & expert mode, 30 day $ back
guarantee, $25 chk/VISA/MC.
Keep It Simple Software
211 East 43rd Street
New York, NY 10017
(800)848-8909
JetWorks™ $25
Attention HP LaserJet users: Control LaserJet &
forget escape sequences forever. Full menu and
window selection for all options & cartridges.
Creates batch files to avoid repetitive setups.
Prefab font files for all current cartridges. Full
screen, windows, help, fast & simple, 196K,
color/mono, 30 day $back guarantee, $25 chk/
VISA/MC.
Keep It Simple Software, Inc.
New York, NY 10017
(800)848-8909
MAY 1986
217
TECH BOOK
PC-COMPANION
Menu subsystem, a must for any PC with a hard
disk supporting multiple applications or users.
Single key stroke execution of software. 15 en¬
tries per menu. Set drive, path, directory, printer.
Password access to menus. Supports all types
of command execution Command logging.
Screen colors definable. Written in assembler for
rapid access. Requires 32k MSDOS/PCDOS 2.0
or higher. $39.95 (TX resident add 6.125% tax).
BINARY ENGINEERING
12841 Jones Rd. Suite 101
Houston, TX 77070
(713)995-3770 VISA/MC
TallScreen—DOS POWER
Natural extension of DOS. Scroll back through
screen output, edit text on full screen, mark blocks
to printer or file, recall commands & directories,
enter multiple commands, capture screens from
application programs, create user profiles. Solid
tech support. A real bargain at $49.95
VISA/MC
QUALITAS
Qualitas, Inc.
8314 Thoreau Drive
Bethesda.MD 20817
(301)369-8848
EXTENDED FILE UTILITIES
Replace MS-DOS COPY, DELETE, RENAME with
these fast, powerful utilities (DOS 2.0 or later).
File lists with commas, optional confirmation
querying, access to hidden/system files, ASCII¬
mode copying. Just $15 + $1.95 s/h (MA res.
add .75 tax), MC/VISAOK.
Pocumtuck Valley Software
P.O. Box 156-A
South Deerfield, MA 01373
EFFICIENT DOS
PCED: Use DOS more efficiently without menus,
batch files, keyboard enhances. Command edi¬
tor with recall; synonyms execute one or many
commands with batch-style variables; auto¬
matic parameter recall; command logging;
MUCH more. Very flexible. Recommended by
Doctor Dobbs and CPCUG. $45 plus $4 s/h;
VISA/MC.
The Cove Software Group
P.O. Box 1072
Columbia, MD 21044
(301)992-9371
CONCURRENT DOS BACKUP
BackPack™ runs like BACKUP/RESTORE and
supports DOS and CP/M media as well as users.
Backs up and restores up to lOOOK/min. on an
AT and 360K/min. on an XT. Supports release
4.1. Also available on CP/M-80 and CP/M plus.
$150.'
Bright Light, Inc.
520 Fellowship Rd. #C301
Mt. Laurel, NJ 08054
(609)778-0772
Software/Word
Processing
FORMATH™ TEXT-FORMATTER
For technical texts. Sizes & places equations,
matrices, ratios, integrals, big symbols, foot¬
notes. Macros, multiple fonts, 158 Greek/math
symbols. Automatic hyphenation, section/
equation/reference numbering, indexes, table of
contents. Dot-matrix, daisywheel, laser printers,
plain/graphics monitors. $400. $50 for demo.
SHANTHA SOFTWARE, INC.
50 West 97th St. Room 11N
New York City 10025
212-222-7647
Touch-tone Toll-free: 950-1088-wait-FORMATH
REPRINTS
AVAILABLE
Quantity reprints of articles appearing
in PC Tech Journal are available and
will be prepared to meet any special
requirements. Inquiries should be
directed to Eileen Pfeiffer, Reprints
Dept.. Ziff-Davis Publishing Co.. IFbrk
Ave.. New York. New York
Phone 212-503-5447.
10016.
TE@H
JOURNAL
| INDEX TO ADVERTISERS
PC TECH JOURNAL MAY 1986 1
READER
SERVICE NUMBER ADVERTISER PAGE
READER
SERVICE NUMBER ADVERTISER PAGE
READER
SERVICE NUMBER ADVERTISER PAGE
116
106
109
101
214
200
136
206
134
135
203
249
114
252
251
247
161
159
217
111
156
121
139
140
227
245
102
179
103
118
215
104
212
131
170
107
158
133
119
108
163
122
110
105
113
Advanced Logic Research.Cover 3
Alcyon Corp...202
Aldebaran Laboratories, Inc. 169
Alpha Computer Service...-180
Answer Software.. 22
Applied Reasoning.58
Arity Corporation.—.151
Array Technologies, Inc.....—78
AshtonTate ....-...68
AshtonTate.—.90-91
Atron........10
Atron..........173
Blaise Computing, Inc... 145
Borland International... 39
Borland International.37
Bourbaki, Inc...:. 14
Brady Communications Company, Inc.141
Brady Computer Books. 163
C-Warc Corporation.....-186
CXI, Inc. -.109
Catamount Corp.-.204
Cauzin Systems, Inc.8-9
Central Point Software, Inc. 148
Chalcedony Software...».195
Chalcedony Software.-.197
Command Technology Corp.150
Communications Research Group.142
Comtel.—.188
CORE International.-.-.98
Creative Programming Consultants.—.186
DTSS, Inc.-.160
Data Access Corp.62
Data Base Decisions.-.5
Dynamus Micro-Data Systems, Inc.—.155
Earth Computers.—.—.—171
Ecosoft, Inc.-.138
Ellis Computing. 137
Emerald Systems Corp...-.114
Entelekon.-.108
Everest Solutions, Inc. 149
FairCom.. 130
Fifth Generation Systems.-.15
Floppy Disk Services, Inc.140
Gimpel Software.. 158
Gimpel Software.. 179
Gold Hill Computers.102
Golden Bow Systems...205
Greenlcaf Software.174
HavenTree Software Limited.. 172
155
248
202
149
132
216
209
117
112
128
160
125
138
144
229
172
146
141
208
188
211
*
167
166
222
142
185
171
241
145
230
180
150
154
159
161
175
220
162
151
177
147
Hayes Microcomputer Products, Inc.
IRM CYirp
.20
44-45
I-Bus Systems .
:::^75
IBEX Computer Corp.
IMPACC Associates Inc
154
Intel Corp.
.72-73
Interactive Microware, Inc.
.199
Intercontinental Micro Systems..
.117
KADAK Products Ltd.
.204
Lahey Computer Systems, Inc.
.82
Lattice, Inc..—...
.125
LcBlond Software..
.18
t FXIM Tradino (I ISAT Inc.
204
1 IcCA/'i'lfPC AO
LOGITECH, Inc. ZZ..ZZZ1ZZZZZZZ .
ZZioi
mbp Software and Systems Technology, Inc.
MDS Inc.
.183
..176
McGraw-Hill Continuing Education Center.
MEGA-OMEGA Systems.
.33-35
.48
Manx Software Systems.
Meridian Technology.
.40
.86
Micro Data Base Systems Inc .
.116
Mirrnrim ...
.164-165
Microsoft.
.28
Microsoft .
.127
Microstnf Inc .
Cover 4
Microtec Research .
.136
Novell Inc .
.6-7
Opt-Tech Data Processing.
.4
Orchid Technology.
.13
Overland Data Inc.
206
PC. Rrand .
.110-111
PC Technologies Inc.
.128
PC’s Limited .
.131-133
Paradise Systems.
.24-25
Pecan Software Systems, Inc.
.123
Peter Norton.
.192
PLOTWORKS Inc .
.185
Prentice-Hall Books.
.163
Prentice-Hall Books.
.141
Programmer’s Connection.
Programmer’s Shop.
Programmer’s Shop.
.49-51
.46
.26
Programmer’s Shop.
.27
Qua Tech Inc.
.194
Quadram Corp.
.84
v
239
157
181
165
143
174
228
187
124
164
201
198
199
192
127
196
168
173
130
126
129
123
176
190
242
183
204
231
Quaid Software Limited .
.157
Quantum Software Systems Ltd.
.88
Rainbow Technologies, Inc...
.194
Rational Systems, Inc.....
.120
Real Time Devices, Inc.
Relational Database Systems, Inc.
Rvan-McFarland .
.206
.124
162
Qchnllcr As Accnciofpc 1Q^
Scientific Endeavors.
::::::::: 204
Seattle Telecom & Data, Inc...
SofCap, Inc.
.189
.129
SoftCraft.....„.
. 2
SoftLogic Solutions.
.119
So ft Logic Solutions.......
.121
Software Bottling Company of NY .
Software of the Future.
Software Link, Inc.
.19
.182
. 200
Software Masters.......
‘software .Security Inc .
.161
.21
Onlnfinn Cvctpmc 17fl
Solution Systems.
.187
Solution Systems.—...
.187
Solution Systems .
.16
SOPHCO.
.135
Speedware.
.198
Spruce Technology Corp .
.198
Sterling Castle.
.134
Strawberry Tree Computers.
.203
Summit Software Technology, Inc.
Sunny Hill Software.
.96
.181
Systems and Software.—
208
186
237
236
238
197
194
184
240
178
182
189
191
193
221
148
3Com...
42-43
TLM Systems....—.103
TLM Systems----105
TLM Systems.—..107
Tall Tree Systems...Cover 2
Tall Tree Systems.139
Tangent Technologies.
Tech PC.
.184
.70
Thompson Automation.
.178
Tiara Computer Systems, Inc.
.104
Trailridge Research Inc.
.152
True BASIC, Inc.
.147
Turbo Power Software.
.156
Vermont Creative Software.
.23
Wizard Systems Software, Inc.
.206
Zanthe Information, Inc.
.1
218
MAY
May 1
Spring COMDEX
Atlanta, GA
Sponsor: The Interface
Group
Contact: Linda Yogel, Regi¬
stration Department, 300
First Avenue, Needham, MA
02194; 617/449-6600
May 11-15
International Small/Micro¬
computer Conference
Washington, DC
Sponsor: IEEE-CS
Contact: IEEE-CS, 1730
Massachusetts Avenue N.W.,
Washington, DC 20036-
1903; 202/371-0101
May 11-15
Computer Graphics ’86
Anaheim, CA
Contact: National Computer
Graphics Association, 2722
Merrilee Drive, Suite 200,
Fairfax, VA 22031;
703/698-9600
May 13-15
Computer Standards
Conference 1986
San Francisco, CA
Sponsor: IEEE-CS
Contact: R. Poston, PEI, 68
Monmouth Road, Oakhurst,
NJ 07755; 201/571-1071
May 28-30
18th Annual ACM SIGACT
Symposium on Theory
of Computing
Berkeley, CA
Sponsor: Association for
Computing Machinery
Contact: Eugene L. Lawler,
Computer Science Division,
Evans Hall, University of Cal¬
ifornia at Berkeley, Berkeley,
CA 94720; 415/642-4019
JUNE
June 3-5
13th International
Symposium on Computer
Architecture
Tokyo, Japan
Sponsor: Information Pro¬
cessing Society of Japan
Contact: Shunichi Uchida,
I COT, Mita Kokusai
Building 2IF, 4-28 Mita
1-Chome, Minato-ku,
Tokyo 108, Japan
June 4-6
National Educational
Computing Conference
San Diego, CA
Sponsor: ACM, IEEE, SCS
Contact: Susan M. Zgliczyn-
ski, University of San Diego,
School of Education, Alcala
Park, San Diego, CA 92110
June 12-13
Distributed Information
Systems
Gaithersburg, MD
Sponsor: ACM and the
United States Department of
Commerce
Contact: National Bureau of
Standards;Gaithersburg, MD
20899; 301/964-6508
June 16-19
National Computer
Conference
Las Vegas, NV
Sponsor: AFIPS, ACM, IEEE-
CS, DPMA, and SCS
Contact: AFIPS, 1899 Preston
White Drive, Reston, VA
22091; 703/620-8900
June 22-25
23rd Design Automation
Conference
Las Vegas, NV
Sponsor: ACM SIGDA
and IEEE-CS
Contact: J. D. Nash, Raytheon
Company, Bedford, MA
01730; 617/274-7100,
ext. 4758
June 22-26
Computer Vision and
Pattern Recognition
Miami Beach, FL
Contact: Computer Vision
and Pattern Recognition,
1730 Massachusetts Avenue
NW, Washington, DC 20036-
1903; 202/371-0101
June 22-August 1
National Computer Camps
CT, OH, GA
Contact: National Computer
Camps, Box 585-CA, Orange,
CT 06477; 203/795-9667
June 23-27
Compiler Construction
Palo Alto, CA
Sponsor: Association for
Computing Machinery
Contact: ACM 11 W. 42nd
Street, New York NY 10036;
212/575-1520
JULY
July 7-11
APL 86
Manchester, England
Sponsor: British Computer
Society and ACM SIGAPL
Contact: BISL Conference
Department, The British
Computer Society,
13 Mansfield Street, London
W1M OBP, England
July 9-11
PC EXPO
New York, NY
Contact: 333 Sylvan Avenue,
Englewood Cliffs, NJ 07632;
201/569-8542
July 21-25
European Conference on
Artificial Intelligence
Brighton, U.K.
Sponsor: The Society for the
Study of Artificial Intelligence
and Simulation Behavior
Contact: Benedict du Boulay,
ECAI, The University of
Sussex, Cognitive Studies
Programme, Brighton
BN1 9QN, UK.
July 21-26
Third International
Conference on Logic
Programming
London, England
Contact: Doug DeGroot, IBM
Research, P.O. Box 218,
Yorktown Heights, NY 10598
AUGUST
August 5-7
ACM SIGCOMM Futures
in Communications
Conference
Stowe, VT
Sponsor: ACM SIGCOMM
Contact: Walter' Kosinsky,
Norwich University,
Northfield, VT 05663;
802/485-5011, ext. 237
August 18-22
ACM SIGGRAPH 86
Dallas, TX
Contact: Ellen Gore, ISSCO,
10505 Sorrento Valley Road,
San Diego, CA 92121;
619/452-0170
MAY 1986
219
ILLUSTRATION • DAVID POVILAITIS
for one or more users
Large
Data Bases
Now! Performance for PC Networks
formerly only available on main¬
frames! The PCMS™ Personal
Computer Mass Storage Subsystem
is a fully integrated storage system
designed to provide mainframe
speed, reliability, and access for
multiple users.
The PCMS system offers:
• Large mass storage—150/300,
250/500, and 411/822 MB
formatted (up to 6 gigabytes).
• MS™/PC™ DOS and IBM-PC™
compatibility—virtually all stan¬
dard MS/PC DOS programs
perform on PCMS without
modification.
• Multi-user network—fully com¬
patible with 3-COM,™ Novell,™
DNA,™ Gateway™ IBM-PC Net,™
and others.
• Fault tolerant configurations—
three levels of redundancy
available.
• Fast, high capacity streaming
tape backup—using technology
developed for minis and main¬
frames, PCMS can backup 150
MB per removable reel in 30
minutes, enough for the largest
storage configuration.
• Remote diagnostics— complete
remote trouble-shooting capabil¬
ities in additon to its diagnostic
software.
PCMS Multiplies Your
Capabilities
PCMS offers virtually unlim¬
ited mass storage and multi-user
accessibility designed for:
• Large data bases
• Graphics applications
• Mega-word processing
• Your mass storage application
This system offers faster seek
times, higher transfer rates, and
optimized system throughout
utilizing enhanced SMD technol¬
ogy. .. in storage capacities of 150
MB (formatted) and greater.
There's More. PCMS lets you
change your mind by providing
dynamic disk management.
Partitions can be reallocated.
You can even have MS DOS,
Venix,™ and Novell partitions on
the same disk.
Software allows public, private
and shared user access to large
amounts of data with these pluses:
fast access speed for efficiency and
volume password protection for
maximum security. PCMS is not
limited by the 32 MB file restrictions
of MS DOS. Files can be as large as
the disk.
Get the whole story on the PCMS
today. Ask for our free primer. Call
or write RACET Computes, Ltd.,
1855 W. Katella Ave., Orange,
California 92667, (714) 997-4950
TLX 701160 (RACET UD).
MS DOS is a trademark of Microsoft Corporation _
IBM-PC Net PC DOS and IBM-PC are tridemarks of IBM Corporation
3-COM is a trademark of 3-Com Corporation
Novell is a trademark of Novell Inc.
DNA is a trademark of Network Development Corporation
Gateway is a trademark of Gateway Communication. Inc.
Venix is a trademark of Vfenturecon. Inc.
RACET Creates Custom
Solutions for Resellers
Whether you use a single PC or a
full fault tolerant system, RACET
can customize the PCMS configura¬
tion for your needs. PCMS is based
on mainframe and mini-computer
technology.. .providing field proven
high reliability for the commercial
environment. PCMS takes over
where conventional data storage
sub-systems leave off.
Graphics
Applications
RACET
CIRCLE NO. 218 ON READER SERVICE CARD
WE DON’T
THINK YOUR
PERFORMANCE
SHOULD BE
LIMITED
BY THE
‘STANDARD’
At ALR we don’t think your performance should be
limited by the ‘Standard’. So preoccupied are today’s
computer makers with meeting the ‘Standard’, they
seem to have overlooked the opportunity to do
something much more worthwhile.
Namely, the concept of improvement beyond that
‘Standard’ acceptable level.
Examine the DART. The first CAD computer with a super
high performance AT™ Compatible. The DART system
is powered by a 10 MHz 80286 cpu with support for
an 8 MHz 80287 math co-processor, when compared
to the IBM® AT’s 6 MHz cpu and 4 MHz co-processor,
the DART system will process your next CAD design
in almost half the time, with DIRECT ACCESS
RESPONSE TIME (DART).
Explore the opportunity of the System 286 - The first
high speed AT below the price of an IBM XT™. The
low cost of this system did not reduce the performance,
with the cpu speed of 8 MHz and co-processor speed
of 5 MHz. This System 286 is ready to calculate spread
sheets and sort data base in a flash!
$
4K
3K -
2K -
IK -
0
3995
1995
2495
Computer
Performance
Ratio* to
IBM PC/XT
(IBM PC/XT
= 1 . 0 )
10 -
5.0-
2.5-
1 . 0 -
5.7
77
10.3
IBM
PC/AT
ALR
SYSTEM
286
ALR
DART
IBM ALR ALR
PC/AT SYSTEM DART
286
'Based on the Norton Utility Si-System Information Command.
The concept of having enough memory is misleading.
It seems yesterday’s 64K of memory was enough.
Today, computers require at least 512K in order to run
popular programs such as Symphonyor Framework™
The result? ALR System 286 and DART system both
have four times the memory capability built into its
‘motherboard’ so you don’t have to pay for it tomorrow.
System
2MB-
Board
-
Memory
1MEG-
.5MB-
.2 5MB-
dl Standard
Optional
IBM
PC/AT
ALR ALR
SYSTEM DART
286
Option I/O device? That usually implies you need it and
it costs more. ALR believes a computer needs to
interface with at least a printer and in most cases
modems, plotters and other computers, so we design
our systems to include more standard I/O.
6 -
Standard
I/O
Devices
Clock
Calendar
1.2 MB
Floppy
Printer
Port
Printer
Serial
Port
Port 2
Serial
Serial
Port 1
Port 1
Clock
Clock
Calendar
Calendar
1.2 MB
1.2 MB
Floppy
Floppy
IBM
PC/AT
ALR
SYSTEM
286
ALR
DART
High performance and more features usually results
in a more expensive system. However, the ALR System
286 and DART system does not match the ‘Standard’
price and this is one category we’re glad to be con¬
sidered ‘sub-standard’.
Let one of our sales engineers or dealers show you
the ALR System 286, DART system, Turbo XT and AT
Hirise IBM compatible systems that are designed to
limit your cost not your standard of performance.
ADVANCED LOGIC RESEARCH, INC.
2991 E. WHITE STAR AVE.
ANAHEIM, CA 92806
(714) 666-2951
Aia
ENGINEERING ADVANCED COMPUTERS
IBM® is a registered trademark of International Business Machines Corporation. IBM PC/AT and IBM PC/XT are registered trademarks of International Business Machines Corporation.
CIRCLE NO. 116 ON READER SERVICE CARD
EXTEND
YOUR
COMPUTING
POWER
Remote lets you run almost any program, from any location, sis if yon were there.
Remote is the software that turns your personal computer in¬
to a host computer. You or anyone you choose can dial it up
from almost any terminal in almost any location, and run most
popular application programs such as word processing, spread¬
sheets, and data base managers.
You’ll see the program on your remote terminal screen as if
you were seated at the host PC.
While Remote itself becomes transparent in use, it offers
some very tangible benefits:
• You don’t need a second PC to do the job of two. Almost any
terminal or terminal emulator will do. The only software you
need is the software in your host PC.
• Each of several different users can call in from anywhere in
the world and use the host PC and software. Remote includes a
sophisticated electronic mail system with encrypted messages
and individual password protection.
• You can transfer files to and from the host computer, using
the Crosstalk or XMODEM protocol.
• Programmers and software vendors can use Remote to debug
a client’s software by phone, without leaving their own offices.
Imagine the potential Remote has in extending the power of
your own PC. Ask your dealer about it, or write for details.
CROSSTALK and MICROSTUF are registered trademarks of Microstuf, Inc.
REMOTE is a trademark of Microstuf, Inc.
REMm
ImicrostufT
1000 Holcomb Woods Parkway
Roswell, Georgia 30076
CIRCLE NO. 167 ON READER SERVICE CARD